def get_log(self): """ Logging user command and output. 记录用户的日志 """ tty_log_dir = os.path.join(LOG_DIR, 'tty') date_today = datetime.datetime.now() date_start = date_today.strftime('%Y%m%d') time_start = date_today.strftime('%H%M%S') today_connect_log_dir = os.path.join(tty_log_dir, date_start) log_file_path = os.path.join( today_connect_log_dir, '%s_%s_%s' % (self.username, self.asset_name, time_start)) try: mkdir(os.path.dirname(today_connect_log_dir), mode=777) mkdir(today_connect_log_dir, mode=777) except OSError: logger.debug('创建目录 %s 失败,请修改%s目录权限' % (today_connect_log_dir, tty_log_dir)) raise ServerError('创建目录 %s 失败,请修改%s目录权限' % (today_connect_log_dir, tty_log_dir)) try: log_file_f = open(log_file_path + '.log', 'a') log_time_f = open(log_file_path + '.time', 'a') except IOError: logger.debug('创建tty日志文件失败, 请修改目录%s权限' % today_connect_log_dir) raise ServerError('创建tty日志文件失败, 请修改目录%s权限' % today_connect_log_dir) if self.login_type == 'ssh': # 如果是ssh连接过来,记录connect.py的pid,web terminal记录为日志的id pid = os.getpid() self.remote_ip = remote_ip # 获取远端IP else: pid = 0 log = Log(user=self.username, host=self.asset_name, remote_ip=self.remote_ip, login_type=self.login_type, log_path=log_file_path, start_time=date_today, pid=pid) log.save() if self.login_type == 'web': log.pid = log.id # 设置log id为websocket的id, 然后kill时干掉websocket log.save() log_file_f.write('Start at %s\r\n' % datetime.datetime.now()) return log_file_f, log_time_f, log
def main(stores): pid = stores[0] log(pid, "프로세스 생성") # brands[0] 에는 일감을 받은 프로세스에 할당될 번호가, [1] 부터는 [브랜드명]의 형태로 들어가 있음 stores = stores[1:] logger.info( "----------------------------------------------------------------------------------" ) log(pid, "담당 브랜드 목록") logger.info(stores) logger.info( "----------------------------------------------------------------------------------" ) #PID 번호별로 다운로드 받을 작업 디렉터리 생성 api.mkdir("{}{}".format(downPath, pid)) #크롬 드라이버 설정 options = setDownloadPath(pid, 1) # 크롬 드라이버 생성 driver = getDriver(pid, data["driver"], options) # 네이버 스마트 스토어 접속 openStore(pid, driver, data["storeLink"]) ######################## 로그인창까지 링크로 바로 들어갈 수 있어서 주석 처리, 추후 개발 건에서 판매자 아이디 로그인하는 곳은 링크가 달라 분기 처리 필요 # 로그인 하기 클릭 # clickMainLogin(pid, driver, data["mainLogin"]) # 네이버 아이디 로그인 클릭 # clickIdLogin(pid, driver, data["idLogin"]) # 아이디 입력 inputId(pid, driver, data["idBox"]) delay(3) # 타이핑 지연시간 # 비밀번호 입력 inputPwd(pid, driver, data["pwdBox"]) delay(3) # 로그인 버튼 클릭 clickLastLogin(pid, driver, data["lastLogin"]) # 동대문점은 로그인 후 등록안함 버튼을 눌러줘야함 global member if member == "ddp": clickNotReg(pid, driver, data["notReg"]) # 정상 로그인 되어 스마트스토어센터 글자가 인식 되는지 확인 isLoginOk(pid, driver, data["isLogin"]) # 메인 비즈니스 로직 doProcess(pid, driver, stores)
def mkdir(): dirs = ["반품완료", "취소완료", "발주발송(발송처리일)"] comm = commDir comm += "결과파일/" api.mkdir(comm) day = api.getYear() + api.getMonth() comm += day + "/" api.mkdir(comm) day += api.getDay() comm += day + "/" api.mkdir(comm) comm += member + "/" api.mkdir(comm) global downPath downPath = comm for d in dirs: api.mkdir(comm + d) #로그 폴더 생성 api.mkdir("{}log".format(comm)) # 로거 설정 logFileName = "{}/log/{}{}{}.log".format(comm, api.getYear(), api.getMonth(), api.getDay()) failFileName = "{}/log/{}{}{}_보고파일.csv".format(comm, api.getYear(), api.getMonth(), api.getDay()) global logger logger = api.getLogger(logFileName, "naver_daily_selling") global failLog failLog = api.failHistory(failFileName, "naver_daily_fail") failLog.info("***********재다운로드 필요 항목***********")
# MIT License # Copyright (c) 2021 Loyio import cv2 from api import mkdir import sys #url="rtsp://*****:*****@192.168.43.9:8554/live" if len(sys.argv) < 2: print("Please specify a name for your photos!!!") exit(0) else: person_name = str(sys.argv[1]) # mkdir("Images/"+person_name) mkdir("Images_test/" + person_name) cap = cv2.VideoCapture(0) i = 0 while (1): ret, frame = cap.read() k = cv2.waitKey(1) if k == ord('q'): break elif k == ord('s'): cv2.imwrite('./Images_test/' + person_name + '/' + str(i) + '.jpg', frame) # cv2.imwrite('./Images/'+person_name + '/'+ str(i) + '.jpg', frame) i += 1 print(str(i)) cv2.imshow("capture", frame)
# MIT License # Copyright (c) 2021 Loyio import os from api import get_face_frame_box, get_face_array, mkdir import numpy as np import cv2 # person_list = [f for f in os.listdir("Images/") if not f.startswith('.')] person_list = [f for f in os.listdir("Images_test/") if not f.startswith('.')] for person in person_list: # mkdir("Images_crop/"+person) mkdir("Images_test_crop/" + person) # image_list = [f for f in os.listdir("Images/"+person+"/") if not f.startswith('.')] image_list = [ f for f in os.listdir("Images_test/" + person + "/") if not f.startswith('.') ] for image in image_list: # img=cv2.imread('Images/'+person+"/"+image) img = cv2.imread('Images_test/' + person + "/" + image) frame_box = get_face_frame_box(img) if len(frame_box) != 0: crop_image = get_face_array(img, frame_box) # cv2.imwrite('Images_crop/'+person+"/"+image, crop_image) cv2.imwrite('Images_test_crop/' + person + "/" + image, crop_image)