xython 1.1.0__tar.gz → 1.3.0__tar.gz
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.
- {xython-1.1.0/src/xython.egg-info → xython-1.3.0}/PKG-INFO +3 -3
- {xython-1.1.0 → xython-1.3.0}/setup.py +3 -3
- {xython-1.1.0 → xython-1.3.0}/src/xython/__init__.py +2 -2
- {xython-1.1.0 → xython-1.3.0}/src/xython/anydb.py +53 -48
- {xython-1.1.0 → xython-1.3.0}/src/xython/basic_data.py +230 -0
- xython-1.3.0/src/xython/gfinder.py +674 -0
- {xython-1.1.0 → xython-1.3.0}/src/xython/pcell.py +101 -18
- {xython-1.1.0 → xython-1.3.0}/src/xython/scolor.py +30 -2
- {xython-1.1.0 → xython-1.3.0}/src/xython/youtil.py +31 -0
- {xython-1.1.0 → xython-1.3.0/src/xython.egg-info}/PKG-INFO +3 -3
- {xython-1.1.0 → xython-1.3.0}/src/xython.egg-info/SOURCES.txt +1 -0
- {xython-1.1.0 → xython-1.3.0}/MANIFEST.in +0 -0
- {xython-1.1.0 → xython-1.3.0}/README.md +0 -0
- {xython-1.1.0 → xython-1.3.0}/requirements.txt +0 -0
- {xython-1.1.0 → xython-1.3.0}/setup.cfg +0 -0
- {xython-1.1.0 → xython-1.3.0}/src/xython/ganada.py +0 -0
- {xython-1.1.0 → xython-1.3.0}/src/xython/jfinder.py +0 -0
- {xython-1.1.0 → xython-1.3.0}/src/xython/mailmail.py +0 -0
- {xython-1.1.0 → xython-1.3.0}/src/xython/pcell_event.py +0 -0
- {xython-1.1.0 → xython-1.3.0}/src/xython/pyclick.py +0 -0
- {xython-1.1.0 → xython-1.3.0}/src/xython/pynal.py +0 -0
- {xython-1.1.0 → xython-1.3.0}/src/xython.egg-info/dependency_links.txt +0 -0
- {xython-1.1.0 → xython-1.3.0}/src/xython.egg-info/not-zip-safe +0 -0
- {xython-1.1.0 → xython-1.3.0}/src/xython.egg-info/top_level.txt +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: xython
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0
|
|
4
4
|
Summary: Easy Read / Write for Excel, Word, Color, Etc using Python
|
|
5
5
|
Home-page: https://github.com/sjpark/xython
|
|
6
|
-
Download-URL: https://github.com/sjpark/xython/archive/v1.
|
|
6
|
+
Download-URL: https://github.com/sjpark/xython/archive/v1.3.0.tar.gz
|
|
7
7
|
Author: sjpark
|
|
8
8
|
Author-email: sjpkorea@yahoo.com
|
|
9
9
|
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
-
Requires-Python: >=3.
|
|
10
|
+
Requires-Python: >=3.9
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
|
|
13
13
|
## xython 모듈에 대하여
|
|
@@ -4,9 +4,9 @@ from setuptools import setup, find_packages
|
|
|
4
4
|
# long_description = fh.read()
|
|
5
5
|
setup(
|
|
6
6
|
name='xython',
|
|
7
|
-
version='1.
|
|
7
|
+
version='1.3.0',
|
|
8
8
|
url='https://github.com/sjpark/xython',
|
|
9
|
-
download_url='https://github.com/sjpark/xython/archive/v1.
|
|
9
|
+
download_url='https://github.com/sjpark/xython/archive/v1.3.0.tar.gz',
|
|
10
10
|
author='sjpark',
|
|
11
11
|
author_email='sjpkorea@yahoo.com',
|
|
12
12
|
description='Easy Read / Write for Excel, Word, Color, Etc using Python',
|
|
@@ -19,7 +19,7 @@ setup(
|
|
|
19
19
|
long_description_content_type="text/markdown",
|
|
20
20
|
long_description=open('README.md', "r", encoding='UTF8').read(),
|
|
21
21
|
install_requires=[''],
|
|
22
|
-
python_requires='>=3.
|
|
22
|
+
python_requires='>=3.9',
|
|
23
23
|
zip_safe=False,
|
|
24
24
|
classifiers=['License :: OSI Approved :: MIT License'],
|
|
25
25
|
)
|
|
@@ -6,12 +6,12 @@ import inspect
|
|
|
6
6
|
import os
|
|
7
7
|
import sys
|
|
8
8
|
|
|
9
|
-
__version__ = '3.0
|
|
9
|
+
__version__ = '1.3.0'
|
|
10
10
|
real_path = os.path.dirname(os.path.abspath(__file__)).replace("\\","/")
|
|
11
11
|
sys.path.append(real_path)
|
|
12
12
|
|
|
13
13
|
try:
|
|
14
|
-
from xython import
|
|
14
|
+
from xython import *
|
|
15
15
|
|
|
16
16
|
except ImportError as e:
|
|
17
17
|
print(e," Please re-check.")
|
|
@@ -57,7 +57,7 @@ class anydb:
|
|
|
57
57
|
col_list.extend(value_list)
|
|
58
58
|
return col_list
|
|
59
59
|
|
|
60
|
-
def
|
|
60
|
+
def change_dic_to_list_as_col_value_style(self, dic_data):
|
|
61
61
|
"""
|
|
62
62
|
사전의 자료를 sql에 입력이 가능한 형식으로 만드는 것
|
|
63
63
|
결과 : [[컬럼리스트], [자료1], [자료2]....]
|
|
@@ -76,17 +76,12 @@ class anydb:
|
|
|
76
76
|
출력형태 : dataframe로 바꾼것
|
|
77
77
|
"""
|
|
78
78
|
checked_list2d = self.yt.change_list1d_to_list2d(list2d)
|
|
79
|
-
checked_col_list = []
|
|
80
79
|
# 컬럼의 이름이 없거나하면 기본적인 이름을 만드는 것이다
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
checked_col_list.append("col" + str(num))
|
|
84
|
-
else:
|
|
85
|
-
checked_col_list = col_list
|
|
86
|
-
input_df = pd.DataFrame(data=checked_list2d, columns=col_list)
|
|
80
|
+
checked_col_list = self.check_input_data(col_list, list2d)
|
|
81
|
+
input_df = pd.DataFrame(data=checked_list2d, columns=checked_col_list)
|
|
87
82
|
return input_df
|
|
88
83
|
|
|
89
|
-
def
|
|
84
|
+
def change_sqlite_to_df(self, table_name, db_name=""):
|
|
90
85
|
"""
|
|
91
86
|
sqlite의 테이블을 df로 변경
|
|
92
87
|
"""
|
|
@@ -99,7 +94,7 @@ class anydb:
|
|
|
99
94
|
input_df = pd.DataFrame.from_records(data=sql_result.fetchall(), columns=cols)
|
|
100
95
|
return input_df
|
|
101
96
|
|
|
102
|
-
def
|
|
97
|
+
def change_sqlite_to_list(self, table_name, db_name=""):
|
|
103
98
|
"""
|
|
104
99
|
sqlite의 테이블 자료를 리스트로 변경
|
|
105
100
|
출력형태 :[2차원리스트(제목), 2차원리스트(값들)]
|
|
@@ -131,13 +126,13 @@ class anydb:
|
|
|
131
126
|
col_name = col_name.replace(data1, data2)
|
|
132
127
|
return col_name
|
|
133
128
|
|
|
134
|
-
def
|
|
129
|
+
def check_col_name_all_in_sqlite(self, table_name, db_name =""):
|
|
135
130
|
"""
|
|
136
131
|
현재 있는 테이블의 이름에 특수문자들을 지우는 것이다
|
|
137
132
|
공백을 _로 변경하는것, Column의 이름을 변경한다
|
|
138
133
|
"""
|
|
139
134
|
self.check_cursor(db_name)
|
|
140
|
-
all_col_names = self.
|
|
135
|
+
all_col_names = self.read_col_name_all_in_sqlite(db_name, table_name)
|
|
141
136
|
for col_name in all_col_names:
|
|
142
137
|
col_name_new = self.check_col_name(col_name)
|
|
143
138
|
if not col_name_new == col_name:
|
|
@@ -162,6 +157,16 @@ class anydb:
|
|
|
162
157
|
result = ""
|
|
163
158
|
return result
|
|
164
159
|
|
|
160
|
+
def check_input_data(self, col_list, data_list):
|
|
161
|
+
result = []
|
|
162
|
+
# 컬럼의 이름이 없거나하면 기본적인 이름을 만드는 것이다
|
|
163
|
+
if col_list == "" or col_list == []:
|
|
164
|
+
for num in range(len(data_list)):
|
|
165
|
+
result.append("col" + str(num))
|
|
166
|
+
else:
|
|
167
|
+
result = col_list
|
|
168
|
+
return result
|
|
169
|
+
|
|
165
170
|
def check_df_range(self, input_df):
|
|
166
171
|
"""
|
|
167
172
|
개인적으로 만든 이용형태를 것으로,
|
|
@@ -189,7 +194,7 @@ class anydb:
|
|
|
189
194
|
temp.append(one)
|
|
190
195
|
return temp
|
|
191
196
|
|
|
192
|
-
def
|
|
197
|
+
def delete_column_in_sqlite(self, table_name, col_name_list, db_name=""):
|
|
193
198
|
"""
|
|
194
199
|
컬럼 삭제
|
|
195
200
|
입력형태 : ["col_1","col_2","col_3"]
|
|
@@ -211,12 +216,12 @@ class anydb:
|
|
|
211
216
|
input_df.dropna(how="all", axis=1, inplace=True)
|
|
212
217
|
return input_df
|
|
213
218
|
|
|
214
|
-
def
|
|
219
|
+
def delete_empty_column_in_sqlite(self, table_name, db_name=""):
|
|
215
220
|
"""
|
|
216
221
|
테이블의 컬럼중에서 아무런 값도 없는 컬럼을 삭제한다
|
|
217
222
|
"""
|
|
218
223
|
self.check_cursor(db_name)
|
|
219
|
-
col_name_all = self.
|
|
224
|
+
col_name_all = self.read_col_name_all_in_sqlite(db_name, table_name)
|
|
220
225
|
|
|
221
226
|
for col_name in col_name_all:
|
|
222
227
|
sql = ("select COUNT(*) from %s where %s is not null" % (table_name, col_name))
|
|
@@ -226,14 +231,14 @@ class anydb:
|
|
|
226
231
|
sql = ("ALTER TABLE %s DROP COLUMN %s " % (table_name, col_name))
|
|
227
232
|
self.cursor.execute(sql)
|
|
228
233
|
|
|
229
|
-
def
|
|
234
|
+
def delete_sqlite(self, table_name, db_name=""):
|
|
230
235
|
"""
|
|
231
236
|
입력형태 : 테이블이름
|
|
232
237
|
"""
|
|
233
238
|
self.check_cursor(db_name)
|
|
234
239
|
self.cursor.execute("DROP TABLE " + table_name)
|
|
235
240
|
|
|
236
|
-
def
|
|
241
|
+
def insert_cols_in_sqlite(self, table_name, col_data_list_s, db_name=""):
|
|
237
242
|
"""
|
|
238
243
|
새로운 컬럼을 만든다
|
|
239
244
|
col_data_list_s : [["이름1","int"],["이름2","text"]]
|
|
@@ -297,7 +302,7 @@ class anydb:
|
|
|
297
302
|
"""
|
|
298
303
|
self.make_connection_with_sqlite_db(db_name)
|
|
299
304
|
|
|
300
|
-
def
|
|
305
|
+
def make_new_sqlite_with_column(self, table_name, column_data_list, db_name=""):
|
|
301
306
|
"""
|
|
302
307
|
어떤 형태의 자료가 입력이 되어도 테이블을 만드는 sql을 만드는 것이다
|
|
303
308
|
입력형태 1 : 테이블이름, [['번호1',"text"], ['번호2',"text"],['번호3',"text"],['번호4',"text"]]
|
|
@@ -371,7 +376,7 @@ class anydb:
|
|
|
371
376
|
"""
|
|
372
377
|
return result
|
|
373
378
|
|
|
374
|
-
def
|
|
379
|
+
def read_col_name_all_in_sqlite(self, table_name, db_name=""):
|
|
375
380
|
"""
|
|
376
381
|
해당하는 테이의 컬럼구조를 갖고온다
|
|
377
382
|
입력형태 : 테이블이름
|
|
@@ -385,7 +390,7 @@ class anydb:
|
|
|
385
390
|
result.append(one_list[1])
|
|
386
391
|
return result
|
|
387
392
|
|
|
388
|
-
def
|
|
393
|
+
def read_col_property_all_in_sqlite(self, table_name, db_name=""):
|
|
389
394
|
"""
|
|
390
395
|
해당하는 테이블의 컬럼의 모든 구조를 갖고온다
|
|
391
396
|
"""
|
|
@@ -397,7 +402,7 @@ class anydb:
|
|
|
397
402
|
result.append(temp_2)
|
|
398
403
|
return result
|
|
399
404
|
|
|
400
|
-
def
|
|
405
|
+
def read_columns_data_from_no1_to_no2_in_sqlite(self, table_name, offset=0, row_count=100, db_name=""):
|
|
401
406
|
"""
|
|
402
407
|
테이블의 자료중 원하는 갯수만 읽어오는 것
|
|
403
408
|
"""
|
|
@@ -467,6 +472,14 @@ class anydb:
|
|
|
467
472
|
result = df_obj.iat[int(xy[0]), int(xy[1])]
|
|
468
473
|
return result
|
|
469
474
|
|
|
475
|
+
def read_pickle_file(self, path_n_name=""):
|
|
476
|
+
"""
|
|
477
|
+
pickle로 자료를 만든것을 읽어오는 것이다
|
|
478
|
+
"""
|
|
479
|
+
with open(path_n_name, "rb") as fr:
|
|
480
|
+
result = pickle.load(fr)
|
|
481
|
+
return result
|
|
482
|
+
|
|
470
483
|
def read_table_data_by_col_names_at_sqlite(self, col_name_s="", condition="all", db_name=""):
|
|
471
484
|
"""
|
|
472
485
|
문자는 컬럼이름으로, 숫자는 몇번째인것으로...
|
|
@@ -487,7 +500,7 @@ class anydb:
|
|
|
487
500
|
result = self.cursor.fetchall()
|
|
488
501
|
return result
|
|
489
502
|
|
|
490
|
-
def
|
|
503
|
+
def read_table_data_for_sqlite(self, table_name, db_name=""):
|
|
491
504
|
"""
|
|
492
505
|
테이블의 모든 자료를 읽어온다
|
|
493
506
|
입력형태 : 테이블 이름
|
|
@@ -523,6 +536,15 @@ class anydb:
|
|
|
523
536
|
self.con.commit()
|
|
524
537
|
return result
|
|
525
538
|
|
|
539
|
+
def save_input_data_to_pickle_file(self, source_data = "", file_name = "", path = "D:\\"):
|
|
540
|
+
"""
|
|
541
|
+
자료를 pickle 로 저장하는것
|
|
542
|
+
"""
|
|
543
|
+
if not "." in file_name:
|
|
544
|
+
file_name = file_name +".pickle"
|
|
545
|
+
with open(path+file_name, "wb") as fr:
|
|
546
|
+
pickle.dump(source_data, fr)
|
|
547
|
+
|
|
526
548
|
def save_sqlite_memorydb_to_diskdb(self, db_name=""):
|
|
527
549
|
"""
|
|
528
550
|
memory에 저장된것을 화일로 저장하는것
|
|
@@ -560,7 +582,7 @@ class anydb:
|
|
|
560
582
|
"""
|
|
561
583
|
return result
|
|
562
584
|
|
|
563
|
-
def
|
|
585
|
+
def write_data_to_sqlite(self, table_name, col_name_s, col_value_s, db_name=""):
|
|
564
586
|
"""
|
|
565
587
|
"""
|
|
566
588
|
self.check_cursor(db_name)
|
|
@@ -586,22 +608,22 @@ class anydb:
|
|
|
586
608
|
excel.write_list1d_in_yline("", xy, col_list)
|
|
587
609
|
excel.write_value_in_range_as_speedy("", [xy[0] + 1, xy[1]], value_list)
|
|
588
610
|
|
|
589
|
-
def
|
|
611
|
+
def write_df_to_sqlite(self, table_name, df_data, db_name=""):
|
|
590
612
|
"""
|
|
591
613
|
df자료를 sqlite에 새로운 테이블로 만들어서 넣는 것
|
|
592
614
|
"""
|
|
593
615
|
self.check_cursor(db_name)
|
|
594
616
|
df_data.to_sql(table_name, self.con)
|
|
595
617
|
|
|
596
|
-
def
|
|
618
|
+
def write_dic_to_sqlite(self, table_name, dic_data, db_name=""):
|
|
597
619
|
"""
|
|
598
620
|
사전의 키를 y이름으로 해서 값을 입력한다
|
|
599
621
|
"""
|
|
600
622
|
self.check_cursor(db_name)
|
|
601
623
|
|
|
602
624
|
for one_col in list(dic_data[0].keys()):
|
|
603
|
-
if not one_col in self.
|
|
604
|
-
self.
|
|
625
|
+
if not one_col in self.read_col_name_all_in_sqlite(table_name):
|
|
626
|
+
self.insert_cols_in_sqlite(table_name, [one_col])
|
|
605
627
|
|
|
606
628
|
sql = self.make_insert_sql_by_col_names(table_name, list(dic_data[0].keys()))
|
|
607
629
|
value_list = []
|
|
@@ -609,7 +631,7 @@ class anydb:
|
|
|
609
631
|
value_list.append(list(one_dic.values()))
|
|
610
632
|
self.cursor.executemany(sql, value_list)
|
|
611
633
|
|
|
612
|
-
def
|
|
634
|
+
def write_list_to_sqlite(self, table_name, col_name_s, list_values, db_name=""):
|
|
613
635
|
"""
|
|
614
636
|
리스트의 형태로 넘어오는것중에 y이름과 값을 분리해서 얻는 것이다
|
|
615
637
|
"""
|
|
@@ -617,7 +639,7 @@ class anydb:
|
|
|
617
639
|
sql = self.make_insert_sql_by_col_names(table_name, col_name_s)
|
|
618
640
|
self.cursor.executemany(sql, list_values)
|
|
619
641
|
|
|
620
|
-
def
|
|
642
|
+
def write_sqlite_data_all_to_df(self, table_name, db_name=""):
|
|
621
643
|
"""
|
|
622
644
|
sqlite를 df로 만드는것
|
|
623
645
|
"""
|
|
@@ -628,7 +650,7 @@ class anydb:
|
|
|
628
650
|
input_df = pd.DataFrame.from_records(data=query.fetchall(), columns=cols)
|
|
629
651
|
return input_df
|
|
630
652
|
|
|
631
|
-
def
|
|
653
|
+
def write_value_to_df_by_xy(self, df, xy, value):
|
|
632
654
|
"""
|
|
633
655
|
dataframe에 좌표로 값을 저장
|
|
634
656
|
"""
|
|
@@ -641,21 +663,4 @@ class anydb:
|
|
|
641
663
|
data_set = [(lambda x: np.NaN)(a) for a in range(len(df.columns))]
|
|
642
664
|
for no in range(xy[0] - x_max):
|
|
643
665
|
df.loc[len(df.index)] = data_set
|
|
644
|
-
df.iat[int(xy[0]), int(xy[1])] = value
|
|
645
|
-
|
|
646
|
-
def read_pickle_file(self, path_n_name=""):
|
|
647
|
-
"""
|
|
648
|
-
pickle로 자료를 만든것을 읽어오는 것이다
|
|
649
|
-
"""
|
|
650
|
-
with open(path_n_name, "rb") as fr:
|
|
651
|
-
result = pickle.load(fr)
|
|
652
|
-
return result
|
|
653
|
-
|
|
654
|
-
def save_input_data_to_pickle_file(self, source_data = "", file_name = "", path = "D:\\"):
|
|
655
|
-
"""
|
|
656
|
-
자료를 pickle 로 저장하는것
|
|
657
|
-
"""
|
|
658
|
-
if not "." in file_name:
|
|
659
|
-
file_name = file_name +".pickle"
|
|
660
|
-
with open(path+file_name, "wb") as fr:
|
|
661
|
-
pickle.dump(source_data, fr)
|
|
666
|
+
df.iat[int(xy[0]), int(xy[1])] = value
|
|
@@ -821,6 +821,236 @@ class basic_data:
|
|
|
821
821
|
"중복된 단어 찾기": [4, "\\b(\\w+)\\s+\\1\\b", "type_z0"],
|
|
822
822
|
}
|
|
823
823
|
|
|
824
|
+
self.vars["shape_enum"] ={
|
|
825
|
+
'mixed': -2,
|
|
826
|
+
'rectangle': 1,
|
|
827
|
+
'직사각형': 1,
|
|
828
|
+
'parallelogram': 2,
|
|
829
|
+
'평행사변형': 2,
|
|
830
|
+
'trapezoid': 3,
|
|
831
|
+
'사다리꼴': 3,
|
|
832
|
+
'diamond': 4,
|
|
833
|
+
'다이아몬드': 4,
|
|
834
|
+
'roundedrectangle': 5,
|
|
835
|
+
'둥근모서리사각형': 5,
|
|
836
|
+
'Octagon': 6,
|
|
837
|
+
'팔각형': 6,
|
|
838
|
+
'isoscelestriangle': 7,
|
|
839
|
+
'이등변삼각형': 7,
|
|
840
|
+
'RightTriangle': 8,
|
|
841
|
+
'직각삼각형': 8,
|
|
842
|
+
'Oval': 9,
|
|
843
|
+
'타원': 9,
|
|
844
|
+
'Hexagon': 10,
|
|
845
|
+
'육각형': 10,
|
|
846
|
+
'Cross': 11,
|
|
847
|
+
'십자형': 11,
|
|
848
|
+
'RegularPentagon': 12,
|
|
849
|
+
'오각형': 12,
|
|
850
|
+
'Can': 13,
|
|
851
|
+
'원통형': 13,
|
|
852
|
+
'Cube': 14,
|
|
853
|
+
'정육면체': 14,
|
|
854
|
+
'Bevel': 15,
|
|
855
|
+
'빗면사각형': 15,
|
|
856
|
+
'FoldedCorner': 16,
|
|
857
|
+
'모서리접힌사각형': 16,
|
|
858
|
+
'SmileyFace': 17,
|
|
859
|
+
'웃는얼굴': 17,
|
|
860
|
+
'Donut': 18,
|
|
861
|
+
'원형': 18,
|
|
862
|
+
'NoSymbol': 19,
|
|
863
|
+
'BlockArc': 20,
|
|
864
|
+
'막힌원호': 20,
|
|
865
|
+
'Heart': 21,
|
|
866
|
+
'하트': 21,
|
|
867
|
+
'LightningBolt': 22,
|
|
868
|
+
'번개': 22,
|
|
869
|
+
'Sun': 23,
|
|
870
|
+
'해': 23,
|
|
871
|
+
'Moon': 24,
|
|
872
|
+
'달': 24,
|
|
873
|
+
'Arc': 25,
|
|
874
|
+
'원호': 25,
|
|
875
|
+
'DoubleBracket': 26,
|
|
876
|
+
'양쪽대괄호': 26,
|
|
877
|
+
'DoubleBrace': 27,
|
|
878
|
+
'양쪽중괄호': 27,
|
|
879
|
+
'Plaque': 28,
|
|
880
|
+
'배지': 28,
|
|
881
|
+
'LeftBracket': 29,
|
|
882
|
+
'왼쪽대괄호': 29,
|
|
883
|
+
'RightBracket': 30,
|
|
884
|
+
'오른쪽대괄호': 30,
|
|
885
|
+
'LeftBrace': 31,
|
|
886
|
+
'왼쪽중괄호': 31,
|
|
887
|
+
'RightBrace': 32,
|
|
888
|
+
'오른쪽중괄호': 32,
|
|
889
|
+
'RightArrow': 33,
|
|
890
|
+
'오른쪽화살표': 33,
|
|
891
|
+
'LeftArrow': 34,
|
|
892
|
+
'왼쪽화살표': 34,
|
|
893
|
+
'UpArrow': 35,
|
|
894
|
+
'위쪽화살표': 35,
|
|
895
|
+
'DownArrow': 36,
|
|
896
|
+
'아래쪽화살표': 36,
|
|
897
|
+
'LeftRightArrow': 37,
|
|
898
|
+
'왼쪽오른쪽화살표': 37,
|
|
899
|
+
'UpDownArrow': 38,
|
|
900
|
+
'위쪽아래쪽화살표': 38,
|
|
901
|
+
'QuadArrow': 39,
|
|
902
|
+
'상하좌우화살표': 39,
|
|
903
|
+
'LeftRightUpArrow': 40,
|
|
904
|
+
'상좌우화살표': 40,
|
|
905
|
+
'BentArrow': 41,
|
|
906
|
+
'굽음화살표': 41,
|
|
907
|
+
'UTurnArrow': 42,
|
|
908
|
+
'U턴화살표': 42,
|
|
909
|
+
'LeftUpArrow': 43,
|
|
910
|
+
'좌상화살표': 43,
|
|
911
|
+
'BentUpArrow': 44,
|
|
912
|
+
'위로굽음화살표': 44,
|
|
913
|
+
'CurvedRightArrow': 45,
|
|
914
|
+
'CurvedLeftArrow': 46,
|
|
915
|
+
'CurvedUpArrow': 47,
|
|
916
|
+
'CurvedDownArrow': 48,
|
|
917
|
+
'StripedRightArrow': 49,
|
|
918
|
+
'NotchedRightArrow': 50,
|
|
919
|
+
'Pentagon': 51,
|
|
920
|
+
'Chevron': 52,
|
|
921
|
+
'RightArrowCallout': 53,
|
|
922
|
+
'LeftArrowCallout': 54,
|
|
923
|
+
'UpArrowCallout': 55,
|
|
924
|
+
'DownArrowCallout': 56,
|
|
925
|
+
'LeftRightArrowCallout': 57,
|
|
926
|
+
'UpDownArrowCallout': 58,
|
|
927
|
+
'QuadArrowCallout': 59,
|
|
928
|
+
'CircularArrow': 60,
|
|
929
|
+
'FlowchartProcess': 61,
|
|
930
|
+
'FlowchartAlternateProcess': 62,
|
|
931
|
+
'FlowchartDecision': 63,
|
|
932
|
+
'FlowchartData': 64,
|
|
933
|
+
'FlowchartPredefinedProcess': 65,
|
|
934
|
+
'FlowchartInternalStorage': 66,
|
|
935
|
+
'FlowchartDocument': 67,
|
|
936
|
+
'FlowchartMultidocument': 68,
|
|
937
|
+
'FlowchartTerminator': 69,
|
|
938
|
+
'FlowchartPreparation': 70,
|
|
939
|
+
'FlowchartManualInput': 71,
|
|
940
|
+
'FlowchartManualOperation': 72,
|
|
941
|
+
'FlowchartConnector': 73,
|
|
942
|
+
'FlowchartOffpageConnector': 74,
|
|
943
|
+
'FlowchartCard': 75,
|
|
944
|
+
'FlowchartPunchedTape': 76,
|
|
945
|
+
'FlowchartSummingJunction': 77,
|
|
946
|
+
'FlowchartOr': 78,
|
|
947
|
+
'FlowchartCollate': 79,
|
|
948
|
+
'FlowchartSort': 80,
|
|
949
|
+
'FlowchartExtract': 81,
|
|
950
|
+
'FlowchartMerge': 82,
|
|
951
|
+
'FlowchartStoredData': 83,
|
|
952
|
+
'FlowchartDelay': 84,
|
|
953
|
+
'FlowchartSequentialAccessStorage': 85,
|
|
954
|
+
'FlowchartMagneticDisk': 86,
|
|
955
|
+
'FlowchartDirectAccessStorage': 87,
|
|
956
|
+
'FlowchartDisplay': 88,
|
|
957
|
+
'Explosion1': 89,
|
|
958
|
+
'Explosion2': 90,
|
|
959
|
+
'4pointStar': 91,
|
|
960
|
+
'5pointStar': 92,
|
|
961
|
+
'8pointStar': 93,
|
|
962
|
+
'16pointStar': 94,
|
|
963
|
+
'24pointStar': 95,
|
|
964
|
+
'32pointStar': 96,
|
|
965
|
+
'UpRibbon': 97,
|
|
966
|
+
'DownRibbon': 98,
|
|
967
|
+
'CurvedUpRibbon': 99,
|
|
968
|
+
'CurvedDownRibbon': 100,
|
|
969
|
+
'VerticalScroll': 101,
|
|
970
|
+
'HorizontalScroll': 102,
|
|
971
|
+
'Wave': 103,
|
|
972
|
+
'DoubleWave': 104,
|
|
973
|
+
'RectangularCallout': 105,
|
|
974
|
+
'RoundedRectangularCallout': 106,
|
|
975
|
+
'OvalCallout': 107,
|
|
976
|
+
'CloudCallout': 108,
|
|
977
|
+
'LineCallout1': 109,
|
|
978
|
+
'LineCallout2': 110,
|
|
979
|
+
'LineCallout3': 111,
|
|
980
|
+
'LineCallout4': 112,
|
|
981
|
+
'LineCallout1AccentBar': 113,
|
|
982
|
+
'LineCallout2AccentBar': 114,
|
|
983
|
+
'LineCallout3AccentBar': 115,
|
|
984
|
+
'LineCallout4AccentBar': 116,
|
|
985
|
+
'LineCallout1NoBorder': 117,
|
|
986
|
+
'LineCallout2NoBorder': 118,
|
|
987
|
+
'LineCallout3NoBorder': 119,
|
|
988
|
+
'LineCallout4NoBorder': 120,
|
|
989
|
+
'LineCallout1BorderandAccentBar': 121,
|
|
990
|
+
'LineCallout2BorderandAccentBar': 122,
|
|
991
|
+
'LineCallout3BorderandAccentBar': 123,
|
|
992
|
+
'LineCallout4BorderandAccentBar': 124,
|
|
993
|
+
'ActionButtonCustom': 125,
|
|
994
|
+
'ActionButtonHome': 126,
|
|
995
|
+
'ActionButtonHelp': 127,
|
|
996
|
+
'ActionButtonInformation': 128,
|
|
997
|
+
'ActionButtonBackorPrevious': 129,
|
|
998
|
+
'ActionButtonForwardorNext': 130,
|
|
999
|
+
'ActionButtonBeginning': 131,
|
|
1000
|
+
'ActionButtonEnd': 132,
|
|
1001
|
+
'ActionButtonReturn': 133,
|
|
1002
|
+
'ActionButtonDocument': 134,
|
|
1003
|
+
'ActionButtonSound': 135,
|
|
1004
|
+
'ActionButtonMovie': 136,
|
|
1005
|
+
'Balloon': 137,
|
|
1006
|
+
'NotPrimitive': 138,
|
|
1007
|
+
'FlowchartOfflineStorage': 139,
|
|
1008
|
+
'LeftRightRibbon': 140,
|
|
1009
|
+
'DiagonalStripe': 141,
|
|
1010
|
+
'Pie': 142,
|
|
1011
|
+
'NonIsoscelesTrapezoid': 143,
|
|
1012
|
+
'Decagon': 144,
|
|
1013
|
+
'Heptagon': 145,
|
|
1014
|
+
'Dodecagon': 146,
|
|
1015
|
+
'6pointStar': 147,
|
|
1016
|
+
'7pointStar': 148,
|
|
1017
|
+
'10pointStar': 149,
|
|
1018
|
+
'12pointStar': 150,
|
|
1019
|
+
'Round1Rectangle': 151,
|
|
1020
|
+
'Round2SameRectangle': 152,
|
|
1021
|
+
'SnipRoundRectangle': 154,
|
|
1022
|
+
'Snip1Rectangle': 155,
|
|
1023
|
+
'Snip2SameRectangle': 156,
|
|
1024
|
+
'Round2DiagRectangle': 157,
|
|
1025
|
+
'Snip2DiagRectangle': 157,
|
|
1026
|
+
'Frame': 158,
|
|
1027
|
+
'HalfFrame': 159,
|
|
1028
|
+
'Tear': 160,
|
|
1029
|
+
'Chord': 161,
|
|
1030
|
+
'Corner': 162,
|
|
1031
|
+
'MathPlus': 163,
|
|
1032
|
+
'MathMinus': 164,
|
|
1033
|
+
'MathMultiply': 165,
|
|
1034
|
+
'MathDivide': 166,
|
|
1035
|
+
'MathEqual': 167,
|
|
1036
|
+
'MathNotEqual': 168,
|
|
1037
|
+
'CornerTabs': 169,
|
|
1038
|
+
'SquareTabs': 170,
|
|
1039
|
+
'PlaqueTabs': 171,
|
|
1040
|
+
'Gear6': 172,
|
|
1041
|
+
'Gear9': 173,
|
|
1042
|
+
'Funnel': 174,
|
|
1043
|
+
'PieWedge': 175,
|
|
1044
|
+
'LeftCircularArrow': 176,
|
|
1045
|
+
'LeftRightCircularArrow': 177,
|
|
1046
|
+
'SwooshArrow': 178,
|
|
1047
|
+
'Cloud': 179,
|
|
1048
|
+
'ChartX': 180,
|
|
1049
|
+
'ChartStar': 181,
|
|
1050
|
+
'ChartPlus': 182,
|
|
1051
|
+
'LineInverse': 183,}
|
|
1052
|
+
|
|
1053
|
+
|
|
824
1054
|
class basic_cell_class():
|
|
825
1055
|
# 각 셀에대해서 어떤 자료들을 넣을수있을지 설정하도록 만든 것이다
|
|
826
1056
|
# 다음에 추가적인것들도 가능하도록 클래스로 만든 것이다
|