def create_project(config, devices, newprj_path): """ Create a blank project. Parameters: ----------- @config: The config data in the form of a python dictionary. @devices: The devices data in the form of a python dictionary. @newprj_path: The path where new project is to be created. Returns: ---------- None """ try: os.mkdir(api.correct_path(newprj_path) + config['projectName'], 0777 ); os.mkdir(api.correct_path(newprj_path) + config['projectName'] + "/input" , 0777) os.mkdir(api.correct_path(newprj_path) + config['projectName'] + "/input/source" , 0777) os.mkdir(api.correct_path(newprj_path) + config['projectName'] + "/input/screenshots" , 0777) os.mkdir(api.correct_path(newprj_path) + config['projectName'] + "/output" , 0777) for subject in config['subject']: os.mkdir(api.correct_path(newprj_path) + config['projectName'] + "/input/source/" + subject['pageName'] , 0777) f = open(api.correct_path(newprj_path) + config['projectName'] + '/config.json','w') f.write(json.dumps(config)) f.close() f = open(api.correct_path(newprj_path) + config['projectName'] + '/devices.json', 'w') f.write(json.dumps(devices)) f.close() except IOError: print "Error: Cannot create project folder." traceback.print_exc() return -1 except Exception: print "Error: Something unrecoverable happened!" traceback.print_exc() return -1 return 0
def print_usage(): print "Usage: python diff.py <source-file-path> <subject-file-path> <output-directory>" ''' The condition is true only when the program is run as a script. ''' if __name__=="__main__": # Check if we have sufficient number of arguments. if len(sys.argv) < 3: print "Error: Argument list is less than expected." print_usage() exit() source = sys.argv[1]; subject = sys.argv[2]; output_path = sys.argv[3]; diff_img, source_img, subject_img = compare(source, subject) cv2.imshow('Difference',diff_img) cv2.imshow('Contours On Source',source_img) cv2.imshow('Contours On Subject',subject_img) k = cv2.waitKey(0) if k == 27: # wait for ESC key to exit cv2.destroyAllWindows() elif k == ord('s'): # wait for 's' key to save and exit write(diff_img, api.correct_path(output_path) + "diff.png") write(diff_img, api.correct_path(output_path) + "contours_on_source.png") write(diff_img, api.correct_path(output_path) + "contours_on_subject.png") cv2.destroyAllWindows()
config = None devices = None project_path = None # Check if we have sufficient number of arguments. if len(sys.argv) < 3: print "Error: Argument list is less than expected." print_usage() exit() # Read config files. try: config = api.readInputFile(sys.argv[1]) # The 0th item is the file name itself. devices = api.readInputFile(sys.argv[2]) project_path = api.correct_path(sys.argv[3]) except IndexError: print "Error: Argument list is less than expected.\n" print_usage traceback.print_exc() exit() except ValueError: print "Error: There seems to be an error with one of the input files." traceback.print_exc() exit() except KeyError: print "Error: There seems to be an error with one of the input files." traceback.print_exc() exit() except IOError: print "Error: Cannot read the input files."