lyrpy 0.0.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
lyr/LUStrDecode.py ADDED
@@ -0,0 +1,223 @@
1
+ """LUDecode.py"""
2
+ # -*- coding: UTF-8 -*-
3
+ __annotations__ = """
4
+ =======================================================
5
+ Copyright (c) 2023-2024
6
+ Author:
7
+ Lisitsin Y.R.
8
+ Project:
9
+ LU_PY
10
+ Python (LU)
11
+ Module:
12
+ LUStrDecode.py
13
+
14
+ =======================================================
15
+ """
16
+
17
+ #------------------------------------------
18
+ # БИБЛИОТЕКИ python
19
+ #------------------------------------------
20
+
21
+ #------------------------------------------
22
+ # БИБЛИОТЕКИ сторонние
23
+ #------------------------------------------
24
+
25
+ #------------------------------------------
26
+ # БИБЛИОТЕКИ LU
27
+ #------------------------------------------
28
+
29
+ cCP1251 = 'cp1251'
30
+ cUTF_8 = 'UTF-8'
31
+
32
+ #---------------------------------------------------------------------------
33
+ UTF8WIN1251 =\
34
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\
35
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\
36
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\
37
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\
38
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\
39
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,\
40
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,\
41
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,\
42
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,\
43
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,\
44
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,\
45
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,\
46
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,\
47
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,\
48
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,\
49
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255
50
+
51
+ #---------------------------------------------------------------------------
52
+ DOSWIN1251 =\
53
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\
54
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\
55
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\
56
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\
57
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\
58
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,\
59
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,\
60
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,\
61
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,\
62
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,\
63
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,\
64
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,\
65
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,\
66
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,\
67
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,\
68
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255
69
+
70
+ #---------------------------------------------------------------------------
71
+ WINDOS1251 =\
72
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\
73
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\
74
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\
75
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\
76
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\
77
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,\
78
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,\
79
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,\
80
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,\
81
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,\
82
+ 224, 225, 226, 227, 228, 229, 230, 231, 240, 233, 234, 235, 236, 237, 238, 239,\
83
+ 240, 241, 242, 243, 244, 245, 246, 247, 241, 249, 250, 251, 252, 253, 254, 255,\
84
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,\
85
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,\
86
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,\
87
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239
88
+
89
+ #---------------------------------------------------------------------------
90
+ TransLit =\
91
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\
92
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\
93
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\
94
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\
95
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\
96
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,\
97
+ 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,\
98
+ 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,\
99
+ 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,\
100
+ 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,\
101
+ 224,225,226,227,228,229,230,231,240,233,234,235,236,237,238,239,\
102
+ 240,241,242,243,244,245,246,247,241,249,250,251,252,253,254,255,\
103
+ 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,\
104
+ 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,\
105
+ 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,\
106
+ 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239\
107
+
108
+ #----------------------------------------------------------------------------
109
+ # UTF8toWin
110
+ #----------------------------------------------------------------------------
111
+ def UTF8toWin (s: str) -> str:
112
+ """UTF8toWin"""
113
+ #beginfunction
114
+ LResult: str = ''
115
+ i = 0
116
+ while i < len (s) + 1:
117
+ c = s[i]
118
+ if ord (c) == 208 or ord (c) == 209:
119
+ i = i + 1
120
+ c = s[i]
121
+ #endif
122
+ _i = ord (c)
123
+ __i = UTF8WIN1251 [_i]
124
+ LResult = LResult + chr (__i)
125
+ i = i + 1
126
+ #endwhile
127
+ return LResult
128
+ #endfunction
129
+
130
+ #----------------------------------------------------------------------------
131
+ # DOStoWin
132
+ #----------------------------------------------------------------------------
133
+ def DOStoWin (s: str) -> str:
134
+ """DOStoWin"""
135
+ #beginfunction
136
+ LResult: str = ""
137
+ i = 1
138
+ while i < len (s) + 1:
139
+ c = s[i]
140
+ LResult = LResult + chr (DOSWIN1251[ord(c)])
141
+ i = i + 1
142
+ #endwhile
143
+ return LResult
144
+ #endfunction
145
+
146
+ #----------------------------------------------------------------------------
147
+ # WintoDOS
148
+ #----------------------------------------------------------------------------
149
+ def WinToDOS (s: str) -> str:
150
+ """WinToDOS"""
151
+ #beginfunction
152
+ LResult = ''
153
+ i = 1
154
+ while i < len (s) + 1:
155
+ c = s[i,1]
156
+ LResult = LResult + "" + chr (WINDOS1251[ord(c)])
157
+ i = i + 1
158
+ #endwhile
159
+ return LResult
160
+ #endfunction
161
+
162
+ #----------------------------------------------------------------------------
163
+ # WintoDOSFile
164
+ #----------------------------------------------------------------------------
165
+ def WinToDOSFile (AFileIN: str, AFileOUT: str):
166
+ """WinToDOSFile"""
167
+ #beginfunction
168
+ """
169
+ if EXIST (FileIN)
170
+ $HandleIN = FreeFileHandle
171
+ if Open ($HandleIN, $FileIN, 2) = 0
172
+ HandleOUT = FreeFileHandle
173
+ Open ($HandleOUT, $FileOUT, 1+4)
174
+ S = ReadLine ($HandleIN)
175
+ while @ERROR = 0
176
+ S = WinToDOS($s)
177
+ LResult = WriteLine ($HandleOUT, $S+@CRLF)
178
+ S = ReadLine ($HandleIN)
179
+ #endwhile
180
+ LResult = Close ($HandleIN)
181
+ LResult = Close ($HandleOUT)
182
+ #endif
183
+ #endif
184
+ """
185
+ #endfunction
186
+
187
+ """
188
+ function StrToOem (const AnsiStr: string): string;
189
+ begin
190
+ SetLength (Result, Length(AnsiStr));
191
+ if Length (Result) > 0 then
192
+ CharToOemBuff (PWideChar(AnsiStr), PAnsiChar(Result), Length(Result));
193
+ AnsiToOemBuff (@AnsiStr[1], @Result[1], Length(Result));
194
+ end;
195
+ """
196
+
197
+ """
198
+ function OemToAnsiStr (const OemStr: string): string;
199
+ begin
200
+ SetLength (Result, Length(OemStr));
201
+ if Length (Result) > 0 then
202
+ OemToCharBuff (PAnsiChar(OemStr), PWideChar(Result), Length(Result));
203
+ OemToAnsiBuff (@OemStr[1], @Result[1], Length(Result));
204
+ end;
205
+ """
206
+
207
+ #---------------------------------------------------------
208
+ # main
209
+ #---------------------------------------------------------
210
+ def main ():
211
+ #beginfunction
212
+ ...
213
+ #endfunction
214
+
215
+ #---------------------------------------------------------
216
+ #
217
+ #---------------------------------------------------------
218
+ #beginmodule
219
+ if __name__ == "__main__":
220
+ main()
221
+ #endif
222
+
223
+ #endmodule