コード例 #1
0
def handle_client(client):  # Takes client socket as argument.
    """ Handles a single client connection. """
    try:
        while 1:
            # server receives the message every time client sends it.
            name = client.recv(buffer_size).decode("utf8")
            msg_after_split = name.split('\r\n\r\n')
            body = json.loads(msg_after_split[1])
            name = body['message']
            # check the bad name here.
            if re.match('^[a-z A-Z]+$', name):
                break
            else:
                error_message = Helper().encodehttprequest(messsage='Only alphabets are allowed no number or special characters are allowed.', timestamp=time.time())
                client.send(error_message.encode())
        print(name, ':handles by', threading.current_thread())
        # print('body is: ', body)
        welcome = 'Welcome %s! If you ever want to quit, type quit to exit.' % body['message']
        # Use to generate response in HTTP format.
        print(Helper().encodehttprequest(messsage=welcome, timestamp=time.time()))
        encoded_message = Helper().encodehttprequest(messsage=welcome, timestamp=time.time())
        # print("Server Sent!!: ", encoded_message)
        client.send(encoded_message.encode())
        msg = "%s has joined the chat!" % name
        # print("\nPre Broadcast")
        broadcast(msg, name)
        # print("\nPost Broadcast")
        clients[client] = name
        while True:
            # used to receive message from client.
            msg = client.recv(buffer_size).decode()
            msg_after_split = msg.split('\r\n\r\n')
            body = json.loads(msg_after_split[1])
            # print("body receive at the server is: ", body)
            msg = body['message']
            # print("client name: ", clients.get(client))
            # print("Server Rec2", msg)
            if msg != "quit":
                # print("current source name is: ",)
                broadcast(msg, name, name + ": ")
            else:
                encoded_message = Helper().encodehttprequest(messsage='quit', timestamp=time.time())
                client.send(encoded_message.encode())
                client.close()
                del clients[client]
                broadcast("%s has left the chat." % name,name)
                break

    except OSError:
        pass
        # if someone left the chat it goes here.
        closed_connection_msg = ' has closed connection forcefully.'
        print(name, closed_connection_msg)
        file = open('log.txt', '+a')
        file.write(json.dumps({'name': name, 'message': closed_connection_msg}))
        file.write('\n')
        file.close()
コード例 #2
0
def build_model():
    method = request.args.get('method')
    if method == 'build':
        connection = MongoClient('mongodb+srv://hrlanes-mongodb-reader:hrlanes%[email protected]', 27017)
        db = connection['hrlanes-web-db']
        data = db['users']
        ex = data.find({"$and": [{'ProfileSummaryInfo': {"$exists": True}}, {'recommenderProcessed': {"$exists": True}}, {'recommenderProcessed': True }]})
        helper = Helper()
        d = helper.createDictionary(ex)
        resumeList = []
        for key in d:
            if len(d[key])>0:  # check if resumes/details exist 
                doc_included = []
                for x in d[key]:
                    resumeList.append(x[1])
                    doc_included.append(x[0])
                documents = []
                for f in resumeList:
                    documents.append(helper.cleanTextAndTokenize(f))
                    helper.create_tfidf(str(key), documents, doc_included)
        return " "
    
    elif method =='recommend':
        exp = request.args.get('e')
        farea = request.args.get('f')
        jd = request.args.get('jd')
        if exp and farea and jd:
            helper = Helper()
            '''with open (jd, 'r') as f:
                jobd = f.read()
            #for local storage path
        
            jobd = helper.extract_text_from_url(jd) 
            #for extracting text from pdf url -> from blob storage
            '''
            jobd = str(jd)
            preprocessed = helper.cleanTextAndTokenize(jobd) #tokenizing text
            sim_scores = helper.recommend(exp, farea, preprocessed) #returning candidate IDs
            if len(sim_scores)==0:
                return ("Sorry! No matching candidates!")
            response = app.response_class(
            response=json.dumps(str(dict(sim_scores))),
            status=200,
            mimetype='application/json')
            return response
        else:
            return "Please enter exp, f area and jd in the request body!"
            
    else:
        return "Please enter the method in request body: build or recommend!"
def plot_polynomial(x: [], y: []) -> []:
    # calculate polynomial
    z = np.polyfit(x, y, 4)
    polynomial1d = np.poly1d(z)

    # calculate new x's and y's
    x_new = np.linspace(x[0], x[-1], 1000)
    y_new = polynomial1d(x_new)

    der1deg = np.polyder(polynomial1d, 1)
    der2deg = np.polyder(polynomial1d, 2)

    curvature = [signed_curvature(t, der1deg, der2deg) for t in x_new]
    curvature_rescaled = Helper().rescaleTableToNewValues(curvature, 0, 400)
    print(curvature)
    print("\n\n", curvature_rescaled)

    dh.frames = Helper.speeds_to_json_frames(curvature_rescaled)
    json_vals = json.dumps(Helper.speeds_to_json_frames(curvature_rescaled))
    print(json_vals)
    with open(
            '/home/wojciech/catkin_ws/src/beginner_tutorials/scripts/steering_test.json',
            'w') as outfile:
        json.dump(json_vals, outfile)

    print("!saved")
    plt.plot(x_new, y_new, 'b--')
    plt.plot(x_new, curvature, 'g-')
    plt.show()
コード例 #4
0
    def configure(self):
        helper = Helper()
        if not helper.checkFile('/etc/bash_completion.d/git-completion.bash'):
            print "-- add bash completion"
            helper.wget(
                'https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash',
                '/etc/bash_completion.d/')

        if 'name' in self.attrs:
            print "-- set your name in git config"
            helper.execute('git config --global user.name "' +
                           self.attrs['name'] + '"')

        if 'email' in self.attrs:
            fileName = helper.homeFolder() + '.ssh/id_rsa'
            print "-- set your email in git config"
            helper.execute('git config --global user.email "' +
                           self.attrs['email'] + '"')
            if 'passphrase' in self.attrs and len(
                    self.attrs['passphrase']) > 4:
                print "-- create ssh key for auto-authorization (add string below to https://github.com/settings/ssh)"
                if not helper.checkFile(fileName):
                    helper.execute('mkdir ' + helper.homeFolder() + '.ssh')
                    helper.execute('ssh-keygen -f "' + fileName + '" -N "' +
                                   self.attrs['passphrase'] + '" -t rsa -C "' +
                                   self.attrs['email'] + '"')
                print helper.execute('cat ' + fileName + '.pub')
コード例 #5
0
    def placeWidgets(self):
        #heading
        self.lbHeader = QLabel("Oops, Your Files\nhave been encrypted!", self)
        self.lbHeader.setFont(self.headerFont)
        self.lbHeader.setStyleSheet("QLabel { color: white;}")
        self.lbHeader.setGeometry(10, 15, 500, 120)

        self.infoText = QTextEdit(self)
        self.infoText.setReadOnly(True)
        self.infoText.setGeometry(205, 150, 550, 360)
        h = Helper()
        with open(h.path('res/info.html'), 'r') as encrypt_info_file:
            encrypt_text = encrypt_info_file.read().replace('\n', '')
        self.infoText.setHtml(encrypt_text)

        self.progressBar = QProgressBar(self)
        self.progressBar.setRange(0, 0)
        self.progressBar.setGeometry(20, 550, 500, 24)
        self.progressBar.hide()

        #button decrypt
        self.btnDecrypt = QPushButton("Decrypt", self)
        self.btnDecrypt.move(650, 550)
        self.btnDecrypt.setStyleSheet(
            "QPushButton {background-color:black; color: white; width:100px; height:24px;} "
            "QPushButton:hover {color:green;}")
        self.btnDecrypt.clicked.connect(self.askQuestions)
コード例 #6
0
 def setbg(self):
     h = Helper()
     oImage = QImage(h.path("res/gui_bg.jpg"))
     sImage = oImage.scaled(QSize(800, 600))  # resize Image to widgets size
     palette = QPalette()
     palette.setBrush(10, QBrush(sImage))  # 10 = Windowrole
     self.setPalette(palette)
コード例 #7
0
    def __init__(self):
        """
        初始化界面
        """
        #
        # 成员变量
        #
        super().__init__()
        self.isPolling = False  # 是否在轮询中
        self.helper = Helper()  # 控制器
        self.polling_timer = None  # 轮询定时器,设成成员变量是为了能够取消定时器
        self.play_sound = True  # 默认允许播放蜂鸣声

        #
        # 初始化界面
        #
        self.ui = QUiLoader().load('./QtDesigner/main_window.ui'
                                   )  # 加载 UI 文件,self.ui 就是应用中 MainWindow 这个对象
        self.init_window()  # 初始化主窗口
        self.init_interval_combobox()  # 初始化轮询时间下拉框
        self.init_splitter()  # 初始化分离器
        self.init_table()  # 初始化表格
        self.init_output_edit()  # 初始化输出信息的窗口
        self.init_menu_bar()  # 初始化菜单

        self.ui.btn_submit.clicked.connect(self.start_polling)  # 绑定点击事件
コード例 #8
0
    def body(self, master):
        self.parent = master
        self.frame = tk.Frame(self.parent, width=500)
        self.resizable(width=False, height=False)
        self.iconbitmap('tarsier.ico')

        self.storage = StorageDb('wfm.sqlite')
        self.appt_helper = AppointmentHelper()
        self.settings = Settings()
        self.helper = Helper()

        self.init_variables()
        self.tab_control = ttk.Notebook(self.parent)
        self.img_tab = {}
        self.tabs = ["Appointment Booking Detail", "Authentication"]
        for tab in self.tabs:
            tabPage = ttk.Frame(
                self.tab_control
            )  # first page, which would get widgets gridded into it
            self.img_tab[tab] = PhotoImage(file=str("images/%s.png" %
                                                    tab.replace(' ', '')))
            self.tab_control.add(tabPage,
                                 text=tab,
                                 image=self.img_tab[tab],
                                 compound=LEFT)
            if tab is 'Authentication':
                self.create_authTab(tabPage)
            else:
                self.create_filterTab(tabPage)
        self.tab_control.pack(expand=1, fill="both")  # Pack to make visible

        self.frame.pack(expand=1, fill="both", padx=8, pady=5)
コード例 #9
0
ファイル: ODC_API.py プロジェクト: Feriixu/opendatacam-api
    def __init__(self, base_url: str):
        self.base_url = base_url.strip('/')

        self.helper = Helper(base_url)
        self.recording = Recording(base_url)
        self.counter = Counter(base_url)
        self.webcam = Webcam(base_url)
コード例 #10
0
class Core:
    sid = "12345"
    name = "ZOMBIE"
    start_time = datetime.utcnow()
    end_time = datetime.utcnow()
    diff_time = 0
    helper = Helper()

    def __init__(self, sid, name, start_time, end_time, **kwargs):
        self.sid = sid
        self.name = name
        self.start_time = start_time
        self.end_time = end_time

        self.create_diff_time(self.start_time, self.end_time)

    def create_diff_time(self, start, end):
        start = self.helper.convert_datetime_to_epoch(start)
        end = self.helper.convert_datetime_to_epoch(end)
        self.diff_time = end - start

    def __eq__(self, other):
        return self.sid == other.sid

    def __repr__(self):
        return str(
            "[SID : {sid} => Name='{name}', Start time {start}, End time {end}, difference {diff}]"
            .format(sid=self.sid,
                    name=self.name,
                    start=self.start_time,
                    end=self.end_time,
                    diff=self.diff_time))
コード例 #11
0
ファイル: TakeFotoScreen.py プロジェクト: matdoess/photobox
class TakeFotoScreen(Screen):
    camera = Camera()
    res = ImageResize()
    helper = Helper()
    resize_thread = None
    
    def ThreadCheck(self):
        return self.resize_thread.isAlive()
    
    def on_enter(self):
        app = App.get_running_app()
        taskshort = app.TASK_SHORT if app.TASK_SHORT else ""
        tasklong = app.TASK_LONG if app.TASK_LONG else ""
        self.camera.textlong = tasklong
        self.camera.textshort = taskshort
        
        self.camera.start()
        app.IMAGENAME = self.camera.getName()
        imgname = self.camera.getName()

        # Resize Deamon
        self.resize_thread = threading.Thread(name='resize_deamon', target=self.res.imgresize, args=(self.camera.getName(),))
        self.resize_thread.start()
        app.FROMTAKEFOTO = True
        app.FROMTASKFOTO = True if tasklong else False
        self.parent.current = 'FotoScreen'
コード例 #12
0
ファイル: Tictactoe.py プロジェクト: MikeyMikes/TicTacToe
 def main(self):
     enemy = Enemy()
     helper = Helper()
     self.print_board(helper)
     position = raw_input('Enter position (row # column #) : ')
     while position != 'q':
         position_to_move = tuple(position.replace(' ', ''))
         if helper.check_basic_validations(position_to_move):
             helper.board[int(position_to_move[0]),
                          int(position_to_move[1])] = "X"
             self.print_board(helper)
             if self.check_win_condition('X', helper):
                 print 'You win!'
                 position = 'q'
                 break
             if len(helper.get_current_positions('X')) + len(
                     helper.get_current_positions('O')) == 9:
                 print "It's a tie!"
                 break
             print '\n... Computer is thinking ...\n'
             time.sleep(1)
             enemy.ai(helper)
             self.print_board(helper)
             if self.check_win_condition('O', helper):
                 print 'Computer Wins!'
                 break
         position = raw_input('Enter position : ')
コード例 #13
0
class GalleryScreen(Screen):
    helper = Helper()
    imagepath = 'pics/mail/'
    imageindex = {}

    def on_enter(self):
        self.ids.carouselid.clear_widgets()
        image_files = [f for f in listdir(self.imagepath) if isfile(join(self.imagepath, f))]
        #print(image_files)
        image_files.sort(reverse=True)

        counter = 0
        for image in image_files:
            #src = "http://placehold.it/480x270.png&text=slide-%d&.png" % i
            #image = AsyncImage(source=src, allow_stretch=True)
            #self.ids.carouselid.add_widget(image)
            #print(image_files)
            fullimage = self.imagepath + image
            #print(fullimage)
            imageobject = AsyncImage(source=fullimage, allow_stretch=True)
            self.ids.carouselid.add_widget(imageobject)
            
            self.imageindex[counter] = fullimage
            counter += 1
            if counter >= int(settings.myList['config']['gallery']['numberofslides']):
                break

    def get_image(self):
        app = App.get_running_app()

        slide = self.ids.carouselid.index
        #print(self.imageindex[slide])
        #print(slide)
        app.MAILIMAGE = self.imageindex[slide]
コード例 #14
0
def main():
    # Elliptic Curve Parameters
    a = 17
    b = 50
    m = 191

    ec = EllipticCurveArithmetic(a, b, m)
    curvePoints = ec.getCurvePoints()

    h = Helper()
    h.generateCharacterPointMappings(curvePoints)

    # Base Point/Generator of Elliptic Curve
    G = generateReferencePoint(curvePoints, h)
    el = EllipticCurveCryptography(G, len(curvePoints), h, ec)

    # Receiver's Public, Private keys
    receiver = el.generateKey(len(curvePoints))

    message = input("Enter message: ")
    print("Original message:", message)

    encryptedMessage = el.Encrypt(message, receiver.getPublicKey())
    print("Encrypted message:", encryptedMessage)

    decryptedMessage = el.Decrypt(encryptedMessage, receiver.getPrivateKey())
    print("Decrypted message:", decryptedMessage)
コード例 #15
0
 def __init__(self):
     self.helper = Helper()
     self.unigram_inverted_index = self.helper.unigram_inverted_index
     self.corpus_term_count = self.helper.corpus_frequency(
         self.unigram_inverted_index)
     self.CONSTANT = 0.35
     self.number_of_ranked_docs = 100
コード例 #16
0
ファイル: GUI.py プロジェクト: sasqwatch/SupergirlOnCrypt
def getQuestions():
    h = Helper()
    l = []
    with open(h.path('res/questions.txt'), 'r') as f:
        for q in f:
            l.append(q)
    return l
コード例 #17
0
    def generateAllRecyclingChildren(self):
        avaliableHor = self.helper.findAllAvaliableHorizontalCards()
        avaliableVer = self.helper.findAllAvaliableVerticalCards()
        avaliableCards = avaliableHor + avaliableVer
        hangOverList = self.curCardList.copy()
        if self.preCard != '0000':

            hangOverList.remove(self.preCard)

        for cards in avaliableCards:
            commandList = cards.split(':')
            Fir = commandList[0].split(',')
            Sec = commandList[1].split(',')
            code = Fir[0] + Fir[1] + Sec[0] + Sec[1]
            hangOverList.remove(code)
            locList = self.decoding(cards)
            curMove = commandList[2]
            x1 = locList[0]
            y1 = locList[1]
            x2 = locList[2]
            y2 = locList[3]
            newBoard = copy.deepcopy(self.curBoard)
            newBoard[x1][y1] = '00'
            newBoard[x2][y2] = '00'
            newCardList = self.curCardList.copy()
            newCardList.remove(code)
            newHelper = Helper(newBoard, newCardList, '0000')

            curCommand = curMove + commandList[0].split(
                ',')[0] + commandList[0].split(',')[1]

            self.getRecyclingChildren(curCommand, newHelper)
        self.getHangoverRecyclingChildren(hangOverList)
コード例 #18
0
class TaskButton(Button):
    helper = Helper()

    def get_task(self):
        task = self.helper.getRandomTask()
        
        app = App.get_running_app()
        app.TASK_SHORT = task["short"]
        app.TASK_LONG = task["long"]
コード例 #19
0
class SendEmailScreen(Screen):

    helper = Helper()
    mail = SendEmail()

    # Wird aufgerufen sobald sich im Textfeld etwas aendert
    # schraenkt dann die auswahl der bereits vorhandenen Mailadressen ein
    def inputChanged(self, text, *args):

        mailAddresses = self.helper.getMailAddresses()
        filteredAdrresses = []

        # loop ueber alle bereits vorhandenen Mail Adressen
        for mail in mailAddresses:
            # Wenn ein teilstueck der eingabe in der Mailadresse vorhanden wird die Adresse in das Array der gefilterten adressen hinzugefuegt
            if text in mail:
                filteredAdrresses.append(mail)

        # loescht die Auswahlliste der Emails
        self.ids.grid.clear_widgets()

        # wenn gefilterte Adressen vorhanden
        if filteredAdrresses:
            # loop ueber gefilterte Adressen um diese zur Auswahl in Scrollview anzuzeigen
            for address in filteredAdrresses:
                button = Button(text=address, size_hint_y=None, height=40, font_size=16)
                button.bind(on_press=partial(self.setTextInput, address))
                self.ids.grid.add_widget(button)


    # Wird aufgerufen sobald auf "Senden" gedrueckt wird
    def sendEmail(self, mailAddress):

        # Textfeld mit Emailadresse wieder leeren
        self.ids.emailInput.text = ""

        # prueft ob Emailadresse bereits gespeichert ist, falls nein speichern
        if self.helper.findMailAddressByMail(mailAddress) == None:
            self.helper.addMailAddress(mailAddress)

        mailtext = self.helper.getMailText()
        
        app = App.get_running_app()
        mailimage = app.MAILIMAGE
        app.MAILIMAGE = None

        # Email im Hintergrund verschicken
        mail_thread = threading.Thread(target=self.mail.send, args=(mailAddress,mailtext,mailimage))
        mail_thread.start()

        # Wieder zum Startbildschirm zuruek navigieren
        self.parent.current = 'MenuScreen'

    # Wird aufgerufen wenn Benutzer auf eine Emailadresse aus der Vorschlagsliste klickt
    # schreibt die Auswahl in das Textfeld
    def setTextInput(self, address, *args):
        self.ids.emailInput.text = address
コード例 #20
0
 def __init__(self):
     self.helper = Helper()
     self.unigram_inverted_index = self.helper.unigram_inverted_index
     self.corpus_term_count = self.helper.corpus_frequency(
         self.unigram_inverted_index)
     self.CONSTANT = 0.35
     self.number_of_ranked_docs = 100
     self.stopwords_file = "../../test-collection/common_words"
     self.prepare_stoplist()
コード例 #21
0
 def __init__(self, k1=1.2,k2=100,b=0.75):
     self.helper = Helper()
     self.k1 = k1
     self.k2 = k2
     self.b = b
     self.calcAVDL()
     self.queryFrequencyDict = defaultdict(int)
     self.docScoreDict = defaultdict(int)
     self.main()
コード例 #22
0
 def __init__(self):
     self.helper = Helper()
     self.documnetVector = defaultdict(dict)
     self.queryVector = defaultdict(str)
     self.docScoreDict = defaultdict(int)
     self.stopwords_file = "../test-collection/common_words"
     self.output_dir = "./stopped_pages_output/"
     self.prepare_stoplist()
     self.stopwords_file = "../test-collection/common_words"
     self.prepare_stoplist()
コード例 #23
0
 def __init__(self, image=None):
     if image != None:
         self.image = cv2.imread(image, cv2.IMREAD_GRAYSCALE)
     else:
         image = None
     self.model = DigitRecognizer()
     self.model.load_model('num_reader')
     self.digits = None
     self.grid = None
     self.helper = Helper()
コード例 #24
0
 def body(self, master):
     self.parent = master
     self.frame = tk.Frame(self.parent)
     self.resizable(width=False, height=False)
     self.storage = StorageDb('wfm.sqlite')
     self.settings = Settings()
     self.helper = Helper()
     self.init_variables()
     self.create_dispatcherEntries()
     self.frame.pack(expand=1, fill="both")
コード例 #25
0
 def __init__(self, k1=1.2, k2=100, b=0.75):
     self.helper = Helper()
     self.k1 = k1
     self.k2 = k2
     self.b = b
     self.stopwords_file = "../../test-collection/common_words"
     self.prepare_stoplist()
     self.calcAVDL()
     self.queryFrequencyDict = defaultdict(int)
     self.docScoreDict = defaultdict(int)
     self.main()
コード例 #26
0
 def run(self):
     sqlDb = Helper()
     mongoDb = Reserve()
     # mongoDb.clearBuy()
     d = int(self.day)
     for h in range(9, 23):
         Domain.BUY_HOUR = h
         for m in range(0, 60):
             res = sqlDb.buy(d, h, m)
             mongoDb.storeBuy(d, h, m, res)
             Domain.BUY_MIN = m
     sqlDb.close()
コード例 #27
0
 def run(self):
     sqlDb = Helper()
     mongoDb = Reserve()
     # mongoDb.clearRanking()
     d = int(self.day)
     for h in range(9, 23):
         Domain.RANK_HOUR = h
         for m in range(0, 60):
             res = sqlDb.ranking(d, h, m)
             mongoDb.storeRanking(d, h, m, res)
             Domain.RANK_MIN = m
     sqlDb.close()
コード例 #28
0
 def run(self):
     sqlDb = Helper()
     mongoDb = Reserve()
     # mongoDb.clearAverage()
     d = int(self.day)
     for h in range(9, 23):
         Domain.AVE_HOUR = h
         for m in range(0, 60):
             res = sqlDb.average(d, h, m)
             mongoDb.storeAverage(d, h, m, res)
             Domain.AVE_MIN = m
     sqlDb.close()
コード例 #29
0
 def run(self):
     sqlDb = Helper()
     mongoDb = Reserve()
     # mongoDb.clearNum()
     d = int(self.day)
     for h in range(9, 23):
         Domain.NUM_HOUR = h
         for m in range(0, 60):
             res = sqlDb.numberOfPeople(d, h, m)
             mongoDb.storeNumOfPeople(d, h, m, res)
             Domain.NUM_MIN = m
     sqlDb.close()
コード例 #30
0
 def run(self):
     sqlDb = Helper()
     mongoDb = Reserve()
     # mongoDb.clearGuiding()
     d = int(self.day)
     for h in range(9, 23):
         Domain.GUIDE_HOUR = h
         for m in range(0, 60):
             res = sqlDb.guiding(d, h, m)
             mongoDb.storeGuiding(d, h, m, res)
             Domain.GUIDE_MIN = m
     sqlDb.close()