ogx786 commited on
Commit
715a519
·
verified ·
1 Parent(s): c28cec5

Update example

Browse files
Files changed (1) hide show
  1. example +165 -114
example CHANGED
@@ -1,114 +1,165 @@
1
- {
2
- "_id" : ObjectId("6a4f409f9ff2f1fbde54a43e"),
3
- "message" : "Success",
4
- "data" : {
5
- "name" : "UZMA HARON",
6
- "fatherName" : "MIR HARONUR RASHEED",
7
- "motherName" : "MIR HARONUR RASHEED",
8
- "address1" : "HOUSE NUMBER 508 BLOCK G MOHALA PHASE 5 DEFENCE HOUSING AUTHORITY LAHORE CANTT DISTRICT LAHORE",
9
- "address2" : "HOUSE NUMBER 508 BLOCK G MOHALA PHASE 5 DEFENCE HOUSING AUTHORITY LAHORE CANTT DISTRICT LAHORE",
10
- "placeOfBirth" : "KARACHI WASTI KARACHI WASTI",
11
- "cnic" : "3520014781022",
12
- "aksaTransId" : "11200087"
13
- },
14
- "LOG_CODE" : "3",
15
- "LOG_DESC" : "service_name: custDataTranToEnglish, type: success",
16
- "LOG_DATE" : ISODate("2026-07-09T06:33:03.487+0000"),
17
- "x-req-id" : "10009788652",
18
- "statusCode" : NumberInt(200),
19
- "statusMessage" : "OK",
20
- "CITIZEN_NUMBER" : "3520014781022",
21
- "REQUEST_BODY" : {
22
- "name" : "عظمیٰ هارون",
23
- "fatherName" : "میر هارون الرشید",
24
- "motherName" : "میر هارون الرشید",
25
- "address1" : "مکان نمبر 508،بلاک جی،محلہ فیز 5 ڈیفنس هاؤسنگ اتھارٹی،لاہور کینٹ،ضلع لاہور",
26
- "address2" : "مکان نمبر 508،بلاک جی،محلہ فیز 5 ڈیفنس هاؤسنگ اتھارٹی،لاہور کینٹ،ضلع لاہور",
27
- "placeOfBirth" : "کراچی وسطی,کراچی وسطی",
28
- "cnic" : "3520014781022"
29
- },
30
- "URL" : "URL: https://apigateway.hbl.com:8343/api/v1/urdu/translate/english",
31
- "REQUEST_HEADERS" : {
32
- "Content-Type" : "application/json",
33
- "x-channel-id" : "HBL",
34
- "x-req-id" : "10009788652",
35
- "x-sub-channel-id" : "HBL",
36
- "x-country-code" : "PK"
37
- }
38
- }
39
- {
40
- "_id" : ObjectId("6a4f409f8893cf6fb22231b9"),
41
- "message" : "Success",
42
- "data" : {
43
- "name" : "ARIF ALNISA",
44
- "fatherName" : "SAKHI MARJAAN",
45
- "motherName" : "SAKHI MARJAAN",
46
- "address1" : "KHWAJI KHAIL POST OFFICE TAJORHI ADAM ZAI TEHSIL / DISTRICT LUCKY MARWAT",
47
- "address2" : "KHWAJI KHAIL POST OFFICE TAJORHI ADAM ZAI TEHSIL / DISTRICT LUCKY MARWAT",
48
- "placeOfBirth" : "SARAI NOORANG LUCKY MARWAT",
49
- "cnic" : "1120119109654",
50
- "aksaTransId" : "11200089"
51
- },
52
- "LOG_CODE" : "3",
53
- "LOG_DESC" : "service_name: custDataTranToEnglish, type: success",
54
- "LOG_DATE" : ISODate("2026-07-09T06:33:03.477+0000"),
55
- "x-req-id" : "10009788653",
56
- "statusCode" : NumberInt(200),
57
- "statusMessage" : "OK",
58
- "CITIZEN_NUMBER" : "1120119109654",
59
- "REQUEST_BODY" : {
60
- "name" : "عارف النساء",
61
- "fatherName" : "سخی مرجان",
62
- "motherName" : "سخی مرجان",
63
- "address1" : "خواجی خیل،ڈاک خانہ تجوڑی،آدم زئی،تحصیل/ضلع لکی مروت",
64
- "address2" : "خواجی خیل،ڈاک خانہ تجوڑی،آدم زئی،تحصیل/ضلع لکی مروت",
65
- "placeOfBirth" : "سرائے نورنگ,لکی مروت",
66
- "cnic" : "1120119109654"
67
- },
68
- "URL" : "URL: https://apigateway.hbl.com:8343/api/v1/urdu/translate/english",
69
- "REQUEST_HEADERS" : {
70
- "Content-Type" : "application/json",
71
- "x-channel-id" : "HBL",
72
- "x-req-id" : "10009788653",
73
- "x-sub-channel-id" : "HBL",
74
- "x-country-code" : "PK"
75
- }
76
- }
77
- {
78
- "_id" : ObjectId("6a4f409cadf66816173c2262"),
79
- "message" : "Success",
80
- "data" : {
81
- "name" : "MUHAMMAD ANEEL QURESHI",
82
- "fatherName" : "MUHAMMAD SHAKEEL QURESHI",
83
- "motherName" : "MUHAMMAD SHAKEEL QURESHI",
84
- "address1" : "FLAT NUMBER 703 C S 70 MOHALA KEEPTL KOWAP RITI WASO SAITI SCHEEME 33 SECTOR 35 - A KARACHI SHARKI",
85
- "address2" : "FLAT NUMBER 703 C S 70 MOHALA KEEPTL KOWAP RITI WASO SAITI SCHEEME 33 SECTOR 35 - A KARACHI SHARKI",
86
- "placeOfBirth" : "KARACHI SHARKI KARACHI SHARKI",
87
- "cnic" : "4220179218463",
88
- "aksaTransId" : "11200066"
89
- },
90
- "LOG_CODE" : "3",
91
- "LOG_DESC" : "service_name: custDataTranToEnglish, type: success",
92
- "LOG_DATE" : ISODate("2026-07-09T06:33:00.877+0000"),
93
- "x-req-id" : "10009788651",
94
- "statusCode" : NumberInt(200),
95
- "statusMessage" : "OK",
96
- "CITIZEN_NUMBER" : "4220179218463",
97
- "REQUEST_BODY" : {
98
- "name" : "محمد انیل قریشی",
99
- "fatherName" : "محمد شکیل قریشی",
100
- "motherName" : "محمد شکیل قریشی",
101
- "address1" : "فلیٹ نمبر 703،سی ایس 70،محلہ کیپٹل کوآپریٹیوسوسائٹی اسکیم33،سیکٹر 35–اے،کراچی شرقی",
102
- "address2" : "فلیٹ نمبر 703،سی ایس 70،محلہ کیپٹل کوآپریٹیوسوسائٹی اسکیم33،سیکٹر 35–اے،کراچی شرقی",
103
- "placeOfBirth" : "کراچی شرقی,کراچی شرقی",
104
- "cnic" : "4220179218463"
105
- },
106
- "URL" : "URL: https://apigateway.hbl.com:8343/api/v1/urdu/translate/english",
107
- "REQUEST_HEADERS" : {
108
- "Content-Type" : "application/json",
109
- "x-channel-id" : "HBL",
110
- "x-req-id" : "10009788651",
111
- "x-sub-channel-id" : "HBL",
112
- "x-country-code" : "PK"
113
- }
114
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import re
2
+ import csv
3
+
4
+
5
+ INPUT_FILE = "hbl_dump.txt"
6
+ OUTPUT_FILE = "hbl_pipe_dataset.csv"
7
+
8
+
9
+ FIELDS = [
10
+ "name",
11
+ "fatherName",
12
+ "motherName",
13
+ "address1",
14
+ "address2",
15
+ "placeOfBirth"
16
+ ]
17
+
18
+
19
+ def extract_block(text, key):
20
+ """
21
+ Extract nested dictionary block after key.
22
+ """
23
+
24
+ pattern = rf'"{key}"\s*:\s*\{{(.*?)\n\s*\}},'
25
+
26
+ match = re.search(
27
+ pattern,
28
+ text,
29
+ re.DOTALL
30
+ )
31
+
32
+ if not match:
33
+ return None
34
+
35
+ return match.group(1)
36
+
37
+
38
+
39
+ def extract_fields(block):
40
+
41
+ result = {}
42
+
43
+ for field in FIELDS:
44
+
45
+ pattern = rf'"{field}"\s*:\s*"([^"]*)"'
46
+
47
+ match = re.search(
48
+ pattern,
49
+ block
50
+ )
51
+
52
+ if match:
53
+ result[field] = match.group(1)
54
+ else:
55
+ result[field] = ""
56
+
57
+ return result
58
+
59
+
60
+
61
+ def join_fields(data):
62
+
63
+ return "|".join(
64
+ data[field]
65
+ for field in FIELDS
66
+ )
67
+
68
+
69
+
70
+ def process():
71
+
72
+ with open(
73
+ INPUT_FILE,
74
+ "r",
75
+ encoding="utf-8"
76
+ ) as f:
77
+
78
+ content = f.read()
79
+
80
+
81
+ # Split MongoDB documents
82
+
83
+ documents = re.split(
84
+ r'\n}\s*\n{',
85
+ content
86
+ )
87
+
88
+
89
+ print(
90
+ "Documents found:",
91
+ len(documents)
92
+ )
93
+
94
+
95
+ rows = []
96
+
97
+
98
+ for doc in documents:
99
+
100
+ urdu_block = extract_block(
101
+ doc,
102
+ "REQUEST_BODY"
103
+ )
104
+
105
+ roman_block = extract_block(
106
+ doc,
107
+ "data"
108
+ )
109
+
110
+
111
+ if not urdu_block or not roman_block:
112
+ continue
113
+
114
+
115
+ urdu_fields = extract_fields(
116
+ urdu_block
117
+ )
118
+
119
+ roman_fields = extract_fields(
120
+ roman_block
121
+ )
122
+
123
+
124
+ rows.append(
125
+ {
126
+ "urdu": join_fields(urdu_fields),
127
+ "roman": join_fields(roman_fields)
128
+ }
129
+ )
130
+
131
+
132
+ print(
133
+ "Pairs created:",
134
+ len(rows)
135
+ )
136
+
137
+
138
+ with open(
139
+ OUTPUT_FILE,
140
+ "w",
141
+ encoding="utf-8",
142
+ newline=""
143
+ ) as f:
144
+
145
+ writer = csv.DictWriter(
146
+ f,
147
+ fieldnames=[
148
+ "urdu",
149
+ "roman"
150
+ ]
151
+ )
152
+
153
+ writer.writeheader()
154
+
155
+ writer.writerows(rows)
156
+
157
+
158
+ print(
159
+ "Saved:",
160
+ OUTPUT_FILE
161
+ )
162
+
163
+
164
+ if __name__ == "__main__":
165
+ process()