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.
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xython
3
- Version: 1.1.0
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.1.0.tar.gz
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
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.1.0',
7
+ version='1.3.0',
8
8
  url='https://github.com/sjpark/xython',
9
- download_url='https://github.com/sjpark/xython/archive/v1.1.0.tar.gz',
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.10',
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.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 xython
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 change_dic_to_sql_data(self, dic_data):
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
- if col_list == "" or col_list == []:
82
- for num in range(len(checked_list2d)):
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 change_sqlite_table_to_df(self, table_name, db_name=""):
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 change_sqlite_table_to_list(self, table_name, db_name=""):
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 check_col_name_all_in_sqlite_table(self, table_name, db_name =""):
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.read_col_name_all_in_sqlite_table(db_name, table_name)
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 delete_column_in_sqlite_table(self, table_name, col_name_list, db_name=""):
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 delete_empty_column_in_sqlite_table(self, table_name, db_name=""):
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.read_col_name_all_in_sqlite_table(db_name, table_name)
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 delete_sqlite_table(self, table_name, db_name=""):
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 insert_cols_in_sqlite_table(self, table_name, col_data_list_s, db_name=""):
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 make_new_sqlite_table_with_column(self, table_name, column_data_list, db_name=""):
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 read_col_name_all_in_sqlite_table(self, table_name, db_name=""):
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 read_col_property_all_in_sqlite_table(self, table_name, db_name=""):
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 read_columns_data_from_no1_to_no2_in_sqlite_table(self, table_name, offset=0, row_count=100, db_name=""):
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 read_table_data_for_sqlite_table(self, table_name, db_name=""):
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 write_data_in_sqlite_table(self, table_name, col_name_s, col_value_s, db_name=""):
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 write_df_to_sqlite_table(self, table_name, df_data, db_name=""):
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 write_dic_in_sqlite_table(self, table_name, dic_data, db_name=""):
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.read_col_name_all_in_sqlite_table(table_name):
604
- self.insert_cols_in_sqlite_table(table_name, [one_col])
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 write_list_to_sqlite_table(self, table_name, col_name_s, list_values, db_name=""):
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 write_sqlite_table_data_all_to_df(self, table_name, db_name=""):
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 write_value_in_df_by_xy(self, df, xy, value):
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
  # 다음에 추가적인것들도 가능하도록 클래스로 만든 것이다