Skip to content

Commit ca082b9

Browse files
committed
update
1 parent 2985d84 commit ca082b9

File tree

8 files changed

+33
-34
lines changed

8 files changed

+33
-34
lines changed

config.py

-6
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,4 @@ def get_mysql_conf(self,mysql_server='talk_server'):
8383
self.mysql_config_list[mysql_server] = {'config':mysql_server,'host':host,'port':port,'username':username,'password':password,'database':database}
8484

8585

86-
# network_driver_name = get_config('net_work_driver', 'name', 'mysql_config.ini')
87-
# local_outside_ip=commands.getoutput("/sbin/ifconfig %s 2>/dev/null | sed -n '/inet addr:/ s/inet addr:/IPADDR=/pg' | awk -F\" \" '{print $1}'|awk -F\"=\" '{print $2}'" % network_driver_name)
88-
89-
90-
91-
9286

config/main.ini

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
##获取数据基本信息
22
[export]
33
##获取数据的起止百分比,以小数表示start=0.3,end=0.5表示取表中30%-50%的数据
4-
start=0.003
4+
start=0.03
55
end=0.015
66
##在获取数据的起止百分比内,如果数量足够取多少条,0表示全部
77
length=1000
8-
##加密规则 方法名对应相关表字段列表 考虑库
8+
##加密规则 方法名对应相关表字段列表表.字段 (考虑库分库后库.表.字段)
99
[rules]
1010
##末尾5位加密,用于类似手机号字段加密
1111
suffix_encrypt=a.mobile,b.phone
12-
##开头3位加密,用于类似邮箱机密
12+
##开头3位加密或者@符号前加密,用于类似邮箱机密
1313
prefix_encrypt=x.email'

delData.py

+18-18
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class DelData(object):
1515
table_rules = {}
1616
result_list = []
1717
function_list = {}
18-
18+
1919
def __init__(self):
2020
default_fun = ['__builtins__','__doc__','__file__','__name__','__package__']
2121
attr_list = dir(func)
@@ -25,45 +25,45 @@ def __init__(self):
2525
##用完务必值为None
2626
def del_rules(self):
2727
self.table_rules = {}
28-
28+
2929
def set_rules(self,rules):
3030
for i in range(len(self.columns)):
3131
if self.columns[i] in rules:
3232
self.table_rules[i] = self.function_list[rules[self.columns[i]]]
3333

34-
def set_table(self,table):
35-
self.table = table
36-
34+
def set_table(self,table):
35+
self.table = table
36+
3737
def set_columns(self,columns):
3838
for column in columns:
3939
self.columns.append(column[0])
4040

41-
def set_datas(self,datas):
42-
self.datas = datas
43-
41+
def set_datas(self,datas):
42+
self.datas = datas
43+
4444
def del_datas(self):
4545
self.data_list = map(self.encrypt_data,self.datas)
4646
self.format_sql()
4747
return self.result_list
4848
def format_sql(self):
4949
"""
50-
处理数据,对特定字段做加密
51-
:param table_name:
52-
:param columns:
53-
:param datas:
54-
:param rules:
55-
:return:
56-
"""
50+
处理数据,对特定字段做加密
51+
:param table_name:
52+
:param columns:
53+
:param datas:
54+
:param rules:
55+
:return:
56+
"""
5757
for data in self.data_list:
5858
data_temp = ["'"+str(line)+"'" for line in data]
5959
strsql = "INSERT INTO `%s` VALUES (%s);" % (self.table,','.join(data_temp))
6060
self.result_list.append(strsql)
6161

62-
def encrypt_data(self,data):
63-
list_temp = []
62+
def encrypt_data(self,data):
63+
list_temp = []
6464
for i in range(len(data)):
6565
if i in self.table_rules:
6666
list_temp.append(apply(self.table_rules[i],(data[i],)))
6767
else:
6868
list_temp.append(data[i])
69-
return list_temp
69+
return list_temp

encryptFunction.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

22
def suffix_encrypt(data):
3-
return 'sfsdfsd'
3+
return '11111'
44
def prefix_encrypt(data):
5-
return data
5+
return 'aaaaa'

export.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# -*-coding:utf-8-*-
33

44
import commands
5-
import sys
5+
import os
66
import mysqlExec
77
import saveFile
88
import delData
@@ -13,6 +13,7 @@
1313
del_data = delData.DelData()
1414
save_file = saveFile.SaveFile()
1515

16+
1617
export_config = the_config.export_config
1718
tables = mysql.get_tables()
1819
for table in tables:
@@ -36,7 +37,7 @@
3637
size=500
3738
while start <= end:
3839
if (start+size) > end:
39-
size = end-start
40+
size = end-start+1
4041
datas = mysql.get_datas(table[0],start,size)
4142
print datas
4243
if datas :
@@ -47,4 +48,5 @@
4748
save_file.write_file(data_msg_list)
4849
start += size
4950

50-
51+
#推送
52+
print os.system('shell/tuisong.sh')

mysqlExec.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/env python
22
# -*-coding:utf-8-*-
3-
3+
import sys
44
import MySQLdb
55
import config
66

@@ -26,7 +26,8 @@ def mysql_exec(slef,sql, mysql_config):
2626
result = cursor.fetchall()
2727
except MySQLdb.Error, e:
2828
error_content = "Mysql Error %d: %s" % (e.args[0], e.args[1])
29-
raise error_content
29+
print error_content
30+
sys.exit()
3031
finally:
3132
if cursor is not None:
3233
cursor.close()

saveFile.pyc

809 Bytes
Binary file not shown.

shell/tuisong.sh

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/bash
2+
#推送导出文件至服务器

0 commit comments

Comments
 (0)