Subversion Repositories SmartDukaan

Rev

Rev 194 | Rev 434 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
103 ashish 1
'''
2
Created on 26-Mar-2010
3
 
4
@author: ashish
5
'''
104 ashish 6
import datetime
7
import time
8
from shop2020.utils import OrderStatus
122 ashish 9
from shop2020.thriftpy.model.v1.catalog.ttypes import status
103 ashish 10
 
104 ashish 11
def to_py_date(java_timestamp):
155 ashish 12
    try:
13
        seconds = java_timestamp / 1000
14
        sub_seconds  = (java_timestamp % 1000.0) / 1000.0
15
        date = datetime.datetime.fromtimestamp(seconds + sub_seconds)
16
    except:
17
        #some error here. return None
18
        return None
104 ashish 19
 
20
    return date
21
 
22
def to_java_date(py_timestamp):
155 ashish 23
    try:
24
        java_date =  int(time.mktime(py_timestamp.timetuple())) * 1000 + py_timestamp.microsecond / 1000
25
        return java_date
26
    except:
27
        #some error here, return None
28
        return None
104 ashish 29
 
30
def get_status_fdate_tdate(status, from_date, to_date):
31
    current_from_date = ""
32
    current_to_date = ""
33
    current_status = ""
34
 
304 ashish 35
    if status != None:
36
        current_status = OrderStatus.get_c_status(status)
37
    else:
38
        current_status = None
39
 
104 ashish 40
    if from_date:
41
        current_from_date = to_py_date(from_date)   
42
    if to_date:
43
        current_to_date = to_py_date(to_date)
44
 
45
    return  current_status, current_from_date, current_to_date
115 ashish 46
 
47
def get_mssql_date(date):
48
    mssql_date_year = str(date.year)
49
    if date.month < 10:
50
        mssql_date_month = "0%d"%(date.month)
51
    else:
52
        mssql_date_month = str(date.month)
53
 
54
    if date.day < 10:
55
        mssql_date_day = "0%d"%(date.day)
56
    else:
57
        mssql_date_day = str(date.day)
58
 
59
    mssql_date = "%s%s%s"%(mssql_date_year,mssql_date_month, mssql_date_day)
60
    return int(mssql_date)
61
 
62
def get_mssql_time(date):
63
    mssql_date_hour = str(date.hour)
64
    if date.minute < 10:
65
        mssql_date_minute = "0%d"%(date.minute)
66
    else:
67
        mssql_date_minute = str(date.minute)
68
 
69
    if date.day < 10:
70
        mssql_date_second = "0%d"%(date.second)
71
    else:
72
        mssql_date_second = str(date.second)
73
 
74
    mssql_date = "%s%s%s"%(mssql_date_hour,mssql_date_minute, mssql_date_second)
122 ashish 75
    return int(mssql_date)
76
 
77
def log_entry(log_source, log_entry):
78
    if log_source.__class__.__name__ == 'str':
79
        print "%s : %s : %s" %(str(datetime.datetime.now()), log_source, log_entry)
80
    else:
155 ashish 81
        print "%s : %s : %s" %(str(datetime.datetime.now()), log_source.__class__.__name__, log_entry)
82