17
17
from start_worker import app
18
18
from config import logger
19
19
from executor .facebook .mobile_actions import FacebookMobileActions
20
+ from executor .facebook .pc_actions import FacebookPCActions
20
21
from executor .facebook .exception import FacebookExceptionProcessor
21
22
from tasks .task_help import TaskHelper
22
23
@@ -61,43 +62,55 @@ def fb_auto_feed(self, inputs):
61
62
logger .warning ('is_in_verifying return True, task id={}, account={}' .format (tsk_hlp .task_id , tsk_hlp .account ))
62
63
return tsk_hlp .make_result (err_msg = 'is_in_verifying return True' )
63
64
64
- # 分步执行任务
65
- # 启动浏览器
66
- facebook_mobile = FacebookMobileActions (account_info = tsk_hlp .account_info ,
65
+ # 根据账号携带的finger_print 信息来决定启动pc或者mobile
66
+ if tsk_hlp .active_browser .get ("device" , "" ):
67
+ chrome_env = "mobile"
68
+ fb_actions = FacebookMobileActions (account_info = tsk_hlp .account_info ,
69
+ finger_print = tsk_hlp .active_browser ,
70
+ headless = tsk_hlp .headless )
71
+ else :
72
+ chrome_env = "pc"
73
+ fb_actions = FacebookPCActions (account_info = tsk_hlp .account_info ,
67
74
finger_print = tsk_hlp .active_browser ,
68
75
headless = tsk_hlp .headless )
69
- ret = facebook_mobile .start_chrome ()
76
+
77
+
78
+ # 分步执行任务
79
+ # 启动浏览器
80
+ ret = fb_actions .start_chrome ()
70
81
if not ret :
71
82
logger .error ('start chrome failed.' )
72
83
return tsk_hlp .make_result ()
73
84
74
- facebook_mobile .set_exception_processor (FacebookExceptionProcessor (facebook_mobile .driver , env = "mobile" , account = facebook_mobile .account , gender = facebook_mobile .gender ))
85
+ fb_exp = FacebookExceptionProcessor (fb_actions .driver , env = chrome_env , account = fb_actions .account ,
86
+ gender = fb_actions .gender )
87
+ fb_actions .set_exception_processor (fb_exp )
75
88
account = tsk_hlp .account
76
89
password = tsk_hlp .password
77
- ret , err_code = facebook_mobile .login ()
90
+ ret , err_code = fb_actions .login ()
78
91
if not ret :
79
92
msg = 'login failed, account={}, password={}, err_code={}' .format (account , password , err_code )
80
93
logger .error (msg )
81
- tsk_hlp .screenshots (facebook_mobile .driver , err_code = err_code )
94
+ tsk_hlp .screenshots (fb_actions .driver , err_code = err_code )
82
95
return tsk_hlp .make_result (err_code = err_code , err_msg = msg )
83
96
84
97
last_login = datetime .datetime .now ()
85
- cookies = facebook_mobile .get_cookies ()
98
+ cookies = fb_actions .get_cookies ()
86
99
logger .info ('login succeed. account={}, password={}, cookies={}' .format (account , password , cookies ))
87
100
88
- ret , err_code = facebook_mobile .browse_home ()
101
+ ret , err_code = fb_actions .browse_home ()
89
102
if not ret :
90
103
msg = 'home_browsing, account={}, err_code={}' .format (account , err_code )
91
104
logger .error (msg )
92
- tsk_hlp .screenshots (facebook_mobile .driver , err_code = err_code )
105
+ tsk_hlp .screenshots (fb_actions .driver , err_code = err_code )
93
106
return tsk_hlp .make_result (err_code = err_code , err_msg = msg , last_login = last_login , cookies = cookies )
94
107
95
108
tsk_hlp .random_sleep ()
96
109
# if tsk_hlp.random_select():
97
- ret , err_code = facebook_mobile .browse_user_center (limit = random .randint (2 , 5 ))
110
+ ret , err_code = fb_actions .browse_user_center (limit = random .randint (2 , 5 ))
98
111
if not ret :
99
112
err_msg = 'user_home failed, err_code={}' .format (err_code )
100
- tsk_hlp .screenshots (facebook_mobile .driver , err_code = err_code )
113
+ tsk_hlp .screenshots (fb_actions .driver , err_code = err_code )
101
114
return tsk_hlp .make_result (err_code = err_code , err_msg = err_msg , last_login = last_login , cookies = cookies )
102
115
103
116
# 账号是否可以继续用作其他用途
@@ -109,20 +122,20 @@ def fb_auto_feed(self, inputs):
109
122
if tsk_hlp .is_should_add_friend ():
110
123
fks = tsk_hlp .get_friend_keys (1 )
111
124
if fks :
112
- ret , err_code = facebook_mobile .add_friends (search_keys = fks , limit = random .randint (1 , 3 ))
125
+ ret , err_code = fb_actions .add_friends (search_keys = fks , limit = random .randint (1 , 3 ))
113
126
if not ret :
114
127
err_msg = 'add_friends failed, err_code={}' .format (err_code )
115
- tsk_hlp .screenshots (facebook_mobile .driver , err_code = err_code )
128
+ tsk_hlp .screenshots (fb_actions .driver , err_code = err_code )
116
129
return tsk_hlp .make_result (err_code = err_code , err_msg = err_msg , last_login = last_login , cookies = cookies )
117
130
last_add_friend = datetime .datetime .now ()
118
131
119
132
tsk_hlp .random_sleep ()
120
133
msgs = tsk_hlp .get_chat_msgs ()
121
134
if msgs :
122
- ret , err_code = facebook_mobile .chat (contents = msgs , friends = random .randint (1 , 3 ))
135
+ ret , err_code = fb_actions .chat (contents = msgs , friends = random .randint (1 , 3 ))
123
136
if not ret :
124
137
msg = "send_message failed, err_code={}" .format (err_code )
125
- tsk_hlp .screenshots (facebook_mobile .driver , err_code = msg )
138
+ tsk_hlp .screenshots (fb_actions .driver , err_code = msg )
126
139
return tsk_hlp .make_result (err_code = err_code , err_msg = msg , last_login = last_login , cookies = cookies )
127
140
128
141
last_chat = datetime .datetime .now ()
@@ -131,10 +144,10 @@ def fb_auto_feed(self, inputs):
131
144
if tsk_hlp .is_should_post ():
132
145
send_state = tsk_hlp .get_posts ()
133
146
if send_state and send_state .get ('post' , '' ):
134
- ret , err_code = facebook_mobile .post_status (contents = send_state )
147
+ ret , err_code = fb_actions .post_status (contents = send_state )
135
148
if not ret :
136
149
msg = "send_facebook_state failed, err_code={}" .format (err_code )
137
- tsk_hlp .screenshots (facebook_mobile .driver , err_code = err_code )
150
+ tsk_hlp .screenshots (fb_actions .driver , err_code = err_code )
138
151
return tsk_hlp .make_result (err_code = err_code , err_msg = msg , last_login = last_login , cookies = cookies )
139
152
last_post = datetime .datetime .now ()
140
153
@@ -146,7 +159,7 @@ def fb_auto_feed(self, inputs):
146
159
# self.retry(countdown=10 ** self.request.retries)
147
160
return tsk_hlp .make_result (err_msg = err_msg )
148
161
finally :
149
- facebook_mobile .quit ()
162
+ fb_actions .quit ()
150
163
return tsk_hlp .make_result (True , last_login = last_login , last_chat = last_chat ,
151
164
last_post = last_post , last_add_friend = last_add_friend , cookies = cookies )
152
165
0 commit comments