linkarchivetools 0.1.14__py3-none-any.whl → 0.1.16__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.
@@ -13,6 +13,7 @@ import argparse
13
13
 
14
14
  from sqlalchemy import create_engine
15
15
  from .utils.reflected import *
16
+ from .tableconfig import get_tables
16
17
 
17
18
 
18
19
  class DbFilter(object):
@@ -53,7 +54,12 @@ class DbFilter(object):
53
54
  self.connection = None
54
55
 
55
56
  def truncate(self):
56
- table = ReflectedEntryTable(self.engine, self.connection)
57
+ """
58
+ TODO remove these hardcoded tables
59
+ with something from table_config
60
+ though it seems it should not clear linkdatamodel
61
+ """
62
+ table = ReflectedTable(self.engine, self.connection)
57
63
 
58
64
  table.truncate_table("userentrytransitionhistory")
59
65
  table.truncate_table("userentryvisithistory")
@@ -78,7 +84,7 @@ class DbFilter(object):
78
84
  table.truncate_table("blockentrylist")
79
85
 
80
86
  def filter(self, conditions):
81
- table = ReflectedEntryTable(self.engine, self.connection)
87
+ table = ReflectedTable(self.engine, self.connection)
82
88
 
83
89
  sql_text = f"DELETE FROM linkdatamodel WHERE {conditions};"
84
90
  # TODO delete depnded things
@@ -87,7 +93,7 @@ class DbFilter(object):
87
93
  table.close()
88
94
 
89
95
  def filter_bookmarks(self):
90
- table = ReflectedEntryTable(self.engine, self.connection)
96
+ table = ReflectedTable(self.engine, self.connection)
91
97
 
92
98
  sql_text = f"DELETE FROM linkdatamodel WHERE bookmarked=False;"
93
99
  # TODO delete depnded things
@@ -96,7 +102,7 @@ class DbFilter(object):
96
102
  table.close()
97
103
 
98
104
  def filter_votes(self):
99
- table = ReflectedEntryTable(self.engine, self.connection)
105
+ table = ReflectedTable(self.engine, self.connection)
100
106
 
101
107
  sql_text = f"DELETE FROM linkdatamodel WHERE page_rating_votes=0;"
102
108
  table.run_sql(sql_text)
@@ -107,7 +113,7 @@ class DbFilter(object):
107
113
  """
108
114
  Not bookmarked AND without votes are redundant
109
115
  """
110
- table = ReflectedEntryTable(self.engine, self.connection)
116
+ table = ReflectedTable(self.engine, self.connection)
111
117
 
112
118
  sql_text = f"DELETE FROM linkdatamodel WHERE bookmarked=False AND page_rating_votes=0;"
113
119
  table.run_sql(sql_text)
@@ -106,6 +106,8 @@ class ReflectedGenericTable(object):
106
106
  self.engine = engine
107
107
  self.connection = connection
108
108
  self.table_name = table_name
109
+ self.table = None
110
+
109
111
  if self.table_name is None:
110
112
  self.table_name = self.get_table_name()
111
113
 
@@ -113,11 +115,14 @@ class ReflectedGenericTable(object):
113
115
  return self.table_name
114
116
 
115
117
  def get_table(self):
118
+ if self.table is not None:
119
+ return self.table
120
+
116
121
  destination_metadata = MetaData()
117
- destination_table = Table(
122
+ self.table = Table(
118
123
  self.table_name, destination_metadata, autoload_with=self.engine
119
124
  )
120
- return destination_table
125
+ return self.table
121
126
 
122
127
  def truncate(self):
123
128
  sql_text = f"DELETE FROM {self.table_name};"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: linkarchivetools
3
- Version: 0.1.14
3
+ Version: 0.1.16
4
4
  Summary: Link Archive Tools
5
5
  License: GPL3
6
6
  Author: Iwan Grozny
@@ -5,14 +5,14 @@ linkarchivetools/backup.py,sha256=xUDpC0YZou0y2X1aa-Js8pS_3TnC_NmVfKSrVihQd8A,24
5
5
  linkarchivetools/db2feeds.py,sha256=P5ZvvyLoEEOPPU_a50VlWw9FNMw8MyFg1TBR_ftdgQ4,8871
6
6
  linkarchivetools/db2json.py,sha256=gCuCVqn4n40i1-6-k_Hb809bq2q8VgfIEHrFWp6nBT8,5666
7
7
  linkarchivetools/dbanalyzer.py,sha256=BD59Ieg7Xv9pMgLZzWlN--8uReEYovfJ2XMbTsV5-Jg,10125
8
- linkarchivetools/dbfilter.py,sha256=yE3FK80dRs7c5mzrvZG4NHh24UhvysbAiZkrVIKU2bI,4520
8
+ linkarchivetools/dbfilter.py,sha256=n_yzMRt-exS3jkyiWcpUSy7B37RkzXEyUTH7-DWdUD0,4697
9
9
  linkarchivetools/dbmerge.py,sha256=dEkvnYfiRDV3Od8qVQJWP_qJ7SKOYqKCndeX2HAJKFE,2510
10
10
  linkarchivetools/json2db.py,sha256=IF01_KhMmHcdm4jfagU_kuJGCEtRwgwjZDuxLtlT7EQ,7607
11
11
  linkarchivetools/tableconfig.py,sha256=TsYYl2kbAkP035XElHUmeJqH5Kugl7bwi4ClIwJ6MSA,1731
12
12
  linkarchivetools/utils/alchemysearch.py,sha256=voUDEBP4RShlGj8E0iHg83jP8JYJQKLOaJjCZNi4LMY,5689
13
13
  linkarchivetools/utils/omnisearch.py,sha256=7HVzz8LesS3Yo6exdlPf4WdPbi2DQekPR2CmkJcfBbI,10115
14
- linkarchivetools/utils/reflected.py,sha256=2UcNfzzdh7Gbjxmr5KOMgrXO7nVhDJv02bmrAUOHNv8,15661
15
- linkarchivetools-0.1.14.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
16
- linkarchivetools-0.1.14.dist-info/METADATA,sha256=iNhQRkA5Eagm2JvQ94owsNtDTZtaNyzd3NQ3GWCSgy4,1203
17
- linkarchivetools-0.1.14.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
18
- linkarchivetools-0.1.14.dist-info/RECORD,,
14
+ linkarchivetools/utils/reflected.py,sha256=bK4hgNmVUUer4BKTQbq732bXSgBJrHlzg11Wa1v0iYI,15740
15
+ linkarchivetools-0.1.16.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
16
+ linkarchivetools-0.1.16.dist-info/METADATA,sha256=WZ9TeZVvbu2lRr1fWSDZAq001p1MRyilS3g4vuVNXz0,1203
17
+ linkarchivetools-0.1.16.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
18
+ linkarchivetools-0.1.16.dist-info/RECORD,,