Skip to content

Commit 6e9068c

Browse files
taers232cjay0lee
authored andcommitted
Fix race condition/fix rename labels (#1043)
* Fix race condition From filelock.py in UnixFileLock # Do not remove the lockfile:^M #^M # https://github.com/benediktschmitt/py-filelock/issues/31^M # https://stackoverflow.com/questions/17708885/flock-removing-locked-file-without-race-condition^M * Encode (){} in label: query
1 parent 891e596 commit 6e9068c

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/gam.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1348,11 +1348,6 @@ def getValidOauth2TxtCredentials(force_refresh=False):
13481348
elif credentials is None or not credentials.valid:
13491349
doRequestOAuth()
13501350
credentials = getOauth2TxtStorageCredentials()
1351-
if not GM_Globals[GM_WINDOWS]:
1352-
try:
1353-
os.remove(lock_file)
1354-
except IOError:
1355-
pass
13561351
return credentials
13571352

13581353
def getService(api, http):
@@ -6465,6 +6460,11 @@ def updateLabels(users):
64656460
else:
64666461
print('Error: user does not have a label named %s' % label_name)
64676462

6463+
def cleanLabelQuery(labelQuery):
6464+
for ch in '/ (){}':
6465+
labelQuery = labelQuery.replace(ch, '-')
6466+
return labelQuery.lower()
6467+
64686468
def renameLabels(users):
64696469
search = '^Inbox/(.*)$'
64706470
replace = '%s'
@@ -6505,7 +6505,7 @@ def renameLabels(users):
65056505
if merge:
65066506
print(' Merging %s label to existing %s label' % (label['name'], new_label_name))
65076507
messages_to_relabel = callGAPIpages(gmail.users().messages(), 'list', 'messages',
6508-
userId=user, q='label:%s' % label['name'].lower().replace('/', '-').replace(' ', '-'))
6508+
userId=user, q='label:%s' % cleanLabelQuery(label['name']))
65096509
if messages_to_relabel:
65106510
for new_label in labels['labels']:
65116511
if new_label['name'].lower() == new_label_name.lower():

0 commit comments

Comments
 (0)