Subversion Repositories SmartDukaan

Rev

Rev 13486 | Blame | Compare with Previous | Last modification | View Log | RSS feed

'''
Created on 26-Mar-2010

@author: ashish
'''
import datetime
import time
from time import strftime
from shop2020.thriftpy.model.v1.catalog.ttypes import status
from shop2020.thriftpy.model.v1.user.ttypes import Address
from shop2020.config.client.ConfigClient import ConfigClient
import random

def to_py_date(java_timestamp):
    try:
        seconds = java_timestamp / 1000
        sub_seconds  = (java_timestamp % 1000.0) / 1000.0
        date = datetime.datetime.fromtimestamp(seconds + sub_seconds)
    except:
        #some error here. return None
        return None
    
    return date

def to_java_date(py_timestamp):
    try:
        java_date =  int(time.mktime(py_timestamp.timetuple())) * 1000 + py_timestamp.microsecond / 1000
        return java_date
    except:
        #some error here, return None
        return None

def get_fdate_tdate(from_date, to_date):
    current_from_date = ""
    current_to_date = ""
        
    if from_date:
        current_from_date = to_py_date(from_date)   
    if to_date:
        current_to_date = to_py_date(to_date)
    
    return current_from_date, current_to_date

def get_mssql_date(date):
    mssql_date_year = str(date.year)
    if date.month < 10:
        mssql_date_month = "0%d"%(date.month)
    else:
        mssql_date_month = str(date.month)
        
    if date.day < 10:
        mssql_date_day = "0%d"%(date.day)
    else:
        mssql_date_day = str(date.day)
        
    mssql_date = "%s%s%s"%(mssql_date_year,mssql_date_month, mssql_date_day)
    return int(mssql_date)

def get_mssql_time(date):
    mssql_date_hour = str(date.hour)
    if date.minute < 10:
        mssql_date_minute = "0%d"%(date.minute)
    else:
        mssql_date_minute = str(date.minute)
        
    if date.day < 10:
        mssql_date_second = "0%d"%(date.second)
    else:
        mssql_date_second = str(date.second)
        
    mssql_date = "%s%s%s"%(mssql_date_hour,mssql_date_minute, mssql_date_second)
    return int(mssql_date)

def log_entry(log_source, log_entry):
    if log_source.__class__.__name__ == 'str':
        print "%s : %s : %s" %(str(datetime.datetime.now()), log_source, log_entry)
    else:
        print "%s : %s : %s" %(str(datetime.datetime.now()), log_source.__class__.__name__, log_entry)
        

def log_risky_flag(item_id, risky):
    filename = ConfigClient().get_property('risky_flag_log')
    logfile = open(filename, 'a')
    logfile.write(str(strftime("%Y-%m-%d %H:%M:%S")) + ', ItemId=' + str(item_id) + ', Flag=' + str(risky) + '\n')
    logfile.close()
        
def to_address_string(address):
    address = Address
    pass

def getSyncOperatorsForRecharge():
    return []

def generate_random_code(length):
    allowed_chars = "ABCDEFGHJKMNPQRSTUVWXYZ3456789"
    code = ""
    for i in range(length):
        next_index = random.randrange(len(allowed_chars))
        code = code + allowed_chars[next_index]
    return code