示例#1
0
    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
示例#2
0
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)
示例#3
0
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("***********재다운로드 필요 항목***********")
示例#4
0
# 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)
示例#5
0
# 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)