Esempio n. 1
0
def print_url(chat_id, botCmd):
    imageTypes = ['.jpg', '.png', '.jpeg']
    if any(x in botCmd.parameter for x in imageTypes):
        print ("I'm printing an image")
        printer.printImageByUrl(botCmd.parameter)
    else:
        print ("this is not an image")    
Esempio n. 2
0
def print_breadboard(chat_id, botCmd):
    filename='tempData/data.json'
    urllib.urlretrieve(DataUrl  , filename)

    with open(filename) as jsonFile :
        data = json.load(jsonFile)

    if botCmd.parameter == "list":
        breadboardList = (bread["name"] for bread in data['breadboard'])
        bot.sendMessage(chat_id=chat_id, text='\n'.join(map('/breadboard_{0}'.format, breadboardList)))
        return

    results = {}
    for bread in data['breadboard']:
        if botCmd.parameter in bread["name"]:
            results.update({bread["name"] : bread["filename"]})

    if len(results) == 1:   
        #bot.sendMessage(chat_id=chat_id, text=results.keys()[0])
        #print results.values()[0]
        filename='tempData/' + results.values()[0]
        url=GFXUrl+results.values()[0]
        urllib.urlretrieve(url, filename)

        bot.sendPhoto(chat_id=chat_id, photo=url)
        printer.printImageByUrl(url)
        bot.sendMessage(chat_id=chat_id, text="ok, printing " + botCmd.parameter)
    elif len(results) > 1:
        items = "Sono stati trovati {0} risultati\n".format(len(results))
        items += ('\n'.join(map('/breadboard_{0}'.format, results.keys())))
        bot.sendMessage(chat_id=chat_id, text=items)
    else:
        bot.sendMessage(chat_id=chat_id, text="Nessun risultato per " + botCmd.parameter)
Esempio n. 3
0
def print_pinout(chat_id, botCmd):
    filename='tempData/data.json'
    #urllib.urlretrieve(DataUrl, filename)

    with open(filename) as jsonFile :
        data = json.load(jsonFile)

    results = {}
    categories = data['pinout'].items()
    for category in categories:
        #print 'category name' + category[0]
        for item in category[1]:
            if botCmd.parameter in item['name']:
                results.update({item['name'] : item['filename']})
    print results

    if len(results) == 1:   
        #bot.sendMessage(chat_id=chat_id, text=results.keys()[0])
        #print results.values()[0]
        filename='tempData/' + results.values()[0]
        url=GFXUrl+results.values()[0]
        urllib.urlretrieve(url, filename)

        bot.sendPhoto(chat_id=chat_id, photo=url)
        printer.printImageByUrl(url)
        bot.sendMessage(chat_id=chat_id, text="ok, printing " + botCmd.parameter)
    elif len(results) > 1:
        items = "Sono stati trovati {0} risultati\n".format(len(results))
        items += ('\n'.join(map('/pinout_{0}'.format, results.keys())))
        bot.sendMessage(chat_id=chat_id, text=items)
    else:
        bot.sendMessage(chat_id=chat_id, text="Nessun risultato per " + botCmd.parameter)


    if botCmd.parameter == "list":
        ICList = (pinout["name"] for pinout in data['pinout']['ICs'])
        MicroList = (pinout["name"] for pinout in data['pinout']['Microcontrollers'])
        TransistorsList = (pinout["name"] for pinout in data['pinout']['Transistors'])

        message = 'Available ICs:\n'
        message += '\n'.join(map('/pinout_{0}'.format, ICList))
        message += '\nAvailable Microcontrollers:\n'
        message += '\n'.join(map('/pinout_{0}'.format, MicroList))
        message += '\nAvailable Transistors:\n'
        message += '\n'.join(map('/pinout_{0}'.format, TransistorsList))
        bot.sendMessage(chat_id=chat_id, text=message)
        return