Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
def info2str(phoneNumber, callerInfo):
    return dsh_utils.strip_join_str(phoneNumber + '_' +
                                    callerInfo[0] + '_' + callerInfo[1])