def generate_avail_json(file_name, out_dir, info_arr): data = open(file_name, 'r').read().strip().split('\n') arr1 = [] arr2 = [] for row in data: if len(row) ==0:continue [cl1, cl2, time_stamp, null1, null2 ] = row.split(',') cl1 = break_str(cl1) cl2 = break_str(cl2) time_stamp = time_stamp[3:].replace(" ", "") [min1, sec1] = map( int,time_stamp.split(':') ) time_value = min1*60+sec1 arr1.append( [ [0, min1, sec1, 0], cl1, get_tooltip(time_stamp, cl1), get_style(cl1) ] ) arr2.append( [ [0, min1, sec1, 0] , cl2, get_tooltip(time_stamp, cl2), get_style(cl2) ] ) ##info arr arr3 = [] train_num = info_arr[2] for det in trains_arr1: if det['train_no'] == train_num: offset_days = det['offset'] cl_name1 = det['class'] cl_name2 = det['class2'] arr3.append("Availability in "+cl_name1+" Class \t for the date " + date_str(info_arr[1], info_arr[0], offset_days ) + " checked on "+ date_str2(info_arr[1], info_arr[0] ) ) arr3.append("Availability in "+cl_name2+" Class \t for the date " + date_str(info_arr[1], info_arr[0], offset_days ) + " checked on "+ date_str2(info_arr[1], info_arr[0] ) ) final_arr = [arr1, arr2, arr3] # print final_arr out_file_name = "_".join( map(str, info_arr) ) +".txt" json.dump( final_arr, open(out_dir+out_file_name, 'w' ) ) ftp_fn.push_to_webdir(out_dir+out_file_name, 'all_files/')
import ftp_fn target_sub_dir = "" files_arr = [ "index.php", "chart_fn.php", "mystyle1.css" ] home_dir = "C:/xampp/htdocs/Projects/IndianRail/" for file in files_arr: print file ftp_fn.push_to_webdir(home_dir+file, target_sub_dir)
def generate_index(): arr_all_dates = [] #reading all the folders from the train_data directory for curr_dir in os.listdir( dir_train_data ): try: [date1, month1, _] = curr_dir.split('_') except: [date1, month1 ] = curr_dir.split('_') [date1, month1] = map( int, [date1, month1]) set1 = {} set1['date' ] = date1 set1['month' ] = month1 set1['date_value'] = month1*100 + date1 #read files in that directory file_names = os.listdir( dir_train_data+curr_dir+'/') # print file_names train_numbers =map( int, map( lambda x: x[-9:-4] , file_names ) ) set1['trains'] = train_numbers arr_all_dates.append(set1) # print arr_all_dates arr_all_dates.sort( key= lambda x: x['date_value'], reverse=True) ###--------------------------------------------- """ generates a JSON array containing indices of all the trains and corresponding names of data files. This is used in the web app to read the files which are generated separately """ arr_trains = {} # contains> { train_no : [ [file_name, display name], ... ] , .... } for elem in arr_all_dates: date = str(elem['date'] ) month = str(elem['month'] ) for train in elem['trains']: if train in arr_trains.keys(): if len( arr_trains[train] )>=10: pass else: arr_trains[train].append( [ month+"_"+date+"_"+str(train), date_str(date, month, tr_dets.find_train(train)['offset'] ) ]) else: arr_trains[train] = [] arr_trains[train].append( [ month+"_"+date+"_"+str(train) , date_str(date, month, tr_dets.find_train(train)['offset']) ]) print "Index Array:" print arr_trains import json dir1 = dir_xammp+ 'data/' json.dump(arr_trains, open( dir1+'train_indexes.json', 'w') ) ftp_fn.push_to_webdir(dir1+'train_indexes.json', 'data/') ################################################ # generate_index()