def make_unique_image_filename_django(dshUid, name, uploadedFileName): """file name made for voices recorded by django. it looks like this: 090727_195346_88888888_name_me.jpg """ answer = dshUid + '_' + name + '_' + uploadedFileName return dsh_utils.strip_join_str(answer)
def make_unique_voice_filename_asterisk(dshUid, phoneNumber, orgAlias, name): """file name made for voices recorded by asterisk. it looks like this: 090727_195346_88888888_12356_orgalias_pname_test4.mp3 """ hiddenPhoneNumber = hide_phone_digits(phoneNumber) hiddenPhoneNumber = hiddenPhoneNumber.replace('x','') answer = dshUid + '_' + \ hiddenPhoneNumber + '_' + \ orgAlias + '_' + \ name return dsh_utils.strip_join_str(answer)
def make_full_unique_filename(dshUid, uploadedFileName, phoneNumber='', orgAlias='', name='', startWithRoot=False, uploadType='django_voice'): """when called by Asterisk, startWithRoot=True when called by django, startWithRoot=False. for django, it looks like this: voice/09/07/090727_195346_88888888_test4.mp3 for asterisk, it looks like this: /u/rywang/phone_data/django/media/voice/09/07/090727_195346_88888888_123_alias_name_test4.mp3 """ if uploadedFileName: uploadedFileName = dsh_utils.strip_join_str(uploadedFileName) # # first determine the upper-level directory. # if startWithRoot: # # called by Asterisk. # it's this: /u/rywang/phone_data/django/media/voice/ # like: # /u/rywang/phone_data/django/media/voice/ # or # voice/ # inDir = dsh_config.lookup('VOICE_DIR') else: # # called by django. # from dsh_django_utils.py # it's this: voice/ # if uploadType == 'django_voice': inDir = dsh_config.lookup('VOICE_SUBDIR') elif uploadType == 'django_image': inDir = dsh_config.lookup('IMG_SUBDIR') else: return None # # mid-level directory named after year and month. # like # 09/07/ # dateStrFormat = dsh_config.lookup('DATE_FORMAT_DIR_STR') yearMonthSubDir = dsh_utils.get_misc_dict()['now'].strftime(dateStrFormat) # # finally leaf-level file name. # if uploadType == 'asterisk': # # this is called by asterisk. # fileName = make_unique_voice_filename_asterisk( dshUid, phoneNumber, orgAlias, name) elif uploadType == 'django_image': # # called by dsh_django_utils.make_uploaded_image_name() # fileName = make_unique_image_filename_django( dshUid, name, uploadedFileName) elif uploadType == 'django_voice': # # called by dsh_django_utils.make_uploaded_file_name() # fileName = make_unique_voice_filename_django( dshUid, uploadedFileName) else: return None return os.path.join(inDir, yearMonthSubDir, fileName)
def info2str(phoneNumber, callerInfo): return dsh_utils.strip_join_str(phoneNumber + '_' + callerInfo[0] + '_' + callerInfo[1])