Skip to content

Commit 2f91416

Browse files
committed
solving issues in bitdust/updates/git_proc.py
1 parent 108bfad commit 2f91416

File tree

1 file changed

+32
-21
lines changed

1 file changed

+32
-21
lines changed

bitdust/updates/git_proc.py

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -78,17 +78,20 @@
7878
#------------------------------------------------------------------------------
7979

8080
_CurrentProcess = None
81-
_FirstRunDelay = 1200
82-
_LoopInterval = 3600*6
81+
_FirstRunDelay = 60*2
82+
_LoopInterval = 60*3 # 60*60*6
8383
_ShedulerTask = None
8484

8585
#------------------------------------------------------------------------------
8686

8787

8888
def write2log(txt):
89-
out_file = open(settings.UpdateLogFilename(), 'a')
90-
out_file.write(strng.to_text(txt))
91-
out_file.close()
89+
try:
90+
out_file = open(settings.UpdateLogFilename(), 'a')
91+
out_file.write(strng.to_text(txt))
92+
out_file.close()
93+
except:
94+
pass
9295

9396

9497
#------------------------------------------------------------------------------
@@ -129,13 +132,13 @@ def sync_callback(result):
129132
events.send('source-code-update-error', data=dict(result=result))
130133

131134
try:
132-
from bitdust.system import tray_icon
135+
# from bitdust.system import tray_icon
133136
if result == 'error':
134137
# tray_icon.draw_icon('error')
135138
# reactor.callLater(5, tray_icon.restore_icon)
136139
return
137140
elif result == 'code-fetched':
138-
tray_icon.set_icon('updated')
141+
# tray_icon.set_icon('updated')
139142
return
140143
except:
141144
pass
@@ -178,48 +181,56 @@ def sync(callback_func=None, update_method='rebase'):
178181
`git rebase origin/master -v` or `git reset --hard origin/master`
179182
180183
"""
181-
src_dir_path = bpio.getExecutableDir()
184+
src_dir_path = os.path.abspath(os.path.join(bpio.getExecutableDir(), '..'))
182185
expected_src_dir = os.path.join(deploy.default_base_dir_portable(), 'src')
186+
if _Debug:
187+
lg.args(_DebugLevel, update_method=update_method, src_dir=src_dir_path, expected_src_dir=expected_src_dir)
183188
if bpio.portablePath(src_dir_path) != bpio.portablePath(expected_src_dir):
184189
if _Debug:
185190
lg.out(_DebugLevel, 'git_proc.sync SKIP, non standard sources location: %r' % src_dir_path)
186191
return
187192

188193
def _reset_done(response, error, retcode, result):
194+
if _Debug:
195+
lg.args(_DebugLevel, retcode=retcode, error=error, response=response)
189196
if callback_func is None:
190197
return
198+
if retcode != 0:
199+
result = 'sync-error'
200+
else:
201+
if result == 'new-code':
202+
result = 'code-fetched'
203+
else:
204+
result = 'up-to-date'
191205
callback_func(result)
192206

193207
def _rebase_done(response, error, retcode, result):
208+
if _Debug:
209+
lg.args(_DebugLevel, retcode=retcode, error=error, response=response)
194210
if callback_func is None:
195211
return
196212
if retcode != 0:
197213
result = 'sync-error'
198214
else:
199-
if response.count(b'Changes from') or response.count(b'Fast-forwarded'):
215+
if result == 'new-code' or response.count(b'Changes from') or response.count(b'Fast-forwarded'):
200216
result = 'code-fetched'
201217
else:
202218
result = 'up-to-date'
203219
callback_func(result)
204220

205221
def _fetch_done(response, error, retcode):
222+
if _Debug:
223+
lg.args(_DebugLevel, retcode=retcode, error=error, response=response)
206224
if retcode != 0:
207225
if callback_func:
208226
callback_func('sync-error')
209227
return
210-
result = 'sync-error'
211-
if response.count(b'Unpacking') or \
212-
(response.count(b'master') and response.count(b'->')) or \
213-
response.count(b'Updating') or \
214-
response.count(b'Receiving') or \
215-
response.count(b'Counting'):
228+
result = 'fetch-ok'
229+
if response.count(b'Unpacking') or (response.count(b'master') and response.count(b'->')) or \
230+
response.count(b'Updating') or response.count(b'Receiving') or response.count(b'Counting'):
216231
result = 'new-code'
217232
if update_method == 'reset':
218-
run([
219-
'reset',
220-
'--hard',
221-
'origin/master',
222-
], callback=lambda resp, err, ret: _reset_done(resp, err, ret, result))
233+
run(['reset', '--hard', 'origin/master'], callback=lambda resp, err, ret: _reset_done(resp, err, ret, result))
223234
elif update_method == 'rebase':
224235
run(['rebase', 'origin/master', '-v'], callback=lambda resp, err, ret: _rebase_done(resp, err, ret, result))
225236
else:
@@ -234,7 +245,7 @@ def _fetch_done(response, error, retcode):
234245
def run(cmdargs, base_dir=None, git_bin=None, env=None, callback=None):
235246
if _Debug:
236247
lg.out(_DebugLevel, 'git_proc.run')
237-
base_dir = base_dir or bpio.getExecutableDir()
248+
base_dir = base_dir or os.path.abspath(os.path.join(bpio.getExecutableDir(), '..'))
238249
if bpio.Windows():
239250
cmd = [
240251
'git',

0 commit comments

Comments
 (0)