Пример #1
0
def dummy(rows, cols, dtcols=None, DfltVals=None, phcol=None, emailcol=None):
    if DfltVals != None:
        name = change_to_array(DfltVals)
    if dtcols != None:
        dtcols = change_to_array(dtcols)
    if phcol != None:
        phcol = change_to_array(phcol)
    if emailcol != None:
        emailcol = change_to_array(emailcol)

    try:
        rows = int(rows)
    except:
        rows = 0
    try:
        cols = int(cols)
    except:
        cols = 0

    app = QApplication(sys.argv)
    # print(phcol)
    # print(emailcol)
    sheet = SpreadSheet(rows,
                        cols,
                        datecol=dtcols,
                        name=name,
                        titlerow=None,
                        phcol=phcol,
                        emailcol=emailcol)
    sheet.setWindowIcon(QIcon(QPixmap(".\\images\\image.png")))
    sheet.resize(1280, 720)
    sheet.show()
    sys.exit(app.exec_())
Пример #2
0
def spreadSheet_insert(t0,t1,t2,h,l):
    KEY_FILENAME ='/home/pi/python_apps/hydroponics/auth.json'
    SHEET_ID ='1nZhut2Sp8ZlijdCSqxCs4__dDsPXPXUYnu891RYcHqE'
    APPEND_RANGE = 'sheet1!A1:D1'
    APPEND_LENGTH = 5
    sheet = SpreadSheet(KEY_FILENAME,SHEET_ID,APPEND_RANGE,APPEND_LENGTH)
    sheet.append(["{0:%Y-%m-%d %H:%M:%S}".format(t0), t1, t2,h,l])
Пример #3
0
    def __init__(self, args):

        # Setup Logger
        self.logger = logging.Logger('BuddyRanker')
        console = logging.StreamHandler()
        console.setLevel('DEBUG' if args.debug else 'INFO')
        formatter = logging.Formatter(
            fmt='%(asctime)s %(levelname)-5s %(message)s',
            datefmt='%Y-%m-%d %H:%M:%S')
        console.setFormatter(formatter)
        self.logger.addHandler(console)

        # Setup Goggle Sheets Credentials and options
        self.SpreadSheet = SpreadSheet(gsecrets=args.g_secrets, url=args.g_url)
        self.g_scores_sheet = "Scores"
        self.g_ranking_sheet = "Rankings"
        self.g_rank_header = ["Player", "Relative Rank (out of 1000)"]
        self.ignore_upload = args.g_ignore_upload

        # Setup localdata parametes
        self.localdata = args.localdata
        self.headers = [
            'Player 1', 'Player 2', 'Score Player 1', 'Score Player 2'
        ]

        # Bradley Terry related parameters
        self.init_rank = args.init_rank
        self.tol = args.tol
        self.max_itt = args.max_itt
Пример #4
0
class Main():
    """ Clase para crear objectos de página.
    """

    # Lista de enlaces seleccionados de un value_list espeficico de una SpreadSheet
    link_list = SpreadSheet(sheet='Creación de cursos 2018-2',
                            worksheet='Cursos 2018-2', values_list='BM180:BM181').get_link_list()

    def __init__(self):
        """Constructor de la clase Main inicializamos el driver en la pagina de inicio
        """

        self.driver = webdriver.Firefox()
        self.driver.get("http://tic.uis.edu.co/")

    def log_in_experticava(self):
        """
        login experticava25. Ingresa a la plataforma con las credenciales especificas
        """
        # Log in
        login_page = page.LoginPage(self.driver)
        login_page.click_posgrado_button()
        login_page.username_element = 'exper-tic'
        login_page.password_element = 'exper-tic'

        login_page.click_login_button()

    def get_history_score(self, url):
        self.driver.get(url)
        history_score_page = page.HistoryScorePage(self.driver)
        history_score_page.click_enviar_button()
        time.sleep(5)
        history_score_page.click_download_button()

        time.sleep(5)

    def select_report(self, url):
        """ Selecciona reporte por cursos en este caso tipo de reporte estudiantes y
        período a mostrar de 6 meses

        Arguments:
            url {string} -- [url para cada página reporte]
        """

        # Select report
        self.driver.get(url)
        statistics_page = page.StatisticsPage(self.driver)
        # Menu report 53 Profesor, 55 Estudiante
        statistics_page.menu_report_element = '55'
        # Page menu 16: 6 months
        statistics_page.menu_time_element = '16'
        statistics_page.click_vista_button()

    def tearDown(self):
        self.driver.close()
Пример #5
0
 def __init__(self):
     # Options to be displayed in a .txt file
     file_text = open("menu_options.txt", "r")
     self.text_menu = file_text.read()
     # Init spreadsheet by default size [20, 20]
     self.spreadsheet = SpreadSheet([20, 20])
     self.choices = {
         "1": self.new_spreadsheet,
         "2": self.save_spreadsheet,
         "3": self.load_spreadsheet,
         "4": self.set_cell_value,
         "5": self.get_cell_value,
         "6": self.quit
     }
Пример #6
0
    def on_octopart_lookup_component(self, event):
        ct = self._current_type

        if not ct:
            return

        if not ct.has_valid_key_fields:
            raise Exception("Missing key fields (value / footprint)!")

        category = self.part_category(ct.refs)

        ol = octo.octopart_lookup()
        pn = ct.value

        te = wx.TextEntryDialog(self,
                                'Update search string',
                                caption='Search part',
                                value=pn)
        rs = te.ShowModal()
        pn = te.Value

        while True:
            cat_uid = ol.find_categories(pn)
            up = ol.parts_search(pn, cat_uid)
            #up = ol.parts_search(pn)

            hits = ol.get_hits()
            if hits < 1:
                te = wx.TextEntryDialog(self,
                                        'Component does not exist in Octopart',
                                        caption='Component not found',
                                        value=ct.value)
                rs = te.ShowModal()
                if rs == wx.ID_CANCEL:
                    return
                pn = te.Value
            else:
                break

        # self.fields = list(up[0].keys())
        self.fields = ol.get_fields()

        ss = SpreadSheet(self, up)
        ss.Show()
Пример #7
0
class TestCase(unittest.TestCase):
    """ Clase para probar objectos de página.

    Arguments:
        unittest {library} -- Python unittesting framework
    """
    link_list = SpreadSheet(sheet='Creación de cursos 2018-2',
                            worksheet='Cursos Sedes',
                            values_list='AG3:AG188').get_link_list()

    def setUp(self):
        #chrome_options = webdriver.ChromeOptions()

        #prefs = {'download.default_directory' : 'G:\\Mi unidad\\1_ExperTIC\\03_Ejecucion\\2019\\02_ProcesosPrimarios\\07_TrabajoconAuxiliares\\Descarga de Notas\\2018-2'}
        #chrome_options.add_experimental_option('prefs', prefs)
        #self.driver = webdriver.Chrome(executable_path="chromedriver.exe", chrome_options=chrome_options)
        self.driver = webdriver.Firefox()
        self.driver.get("http://tic.uis.edu.co/ava25")

        # Log in
        login_page = page.LoginPage(self.driver)
        #login_page.click_posgrado_button()
        login_page.username_element = 'exper-tic'
        #login_page.password_element = 'exper-tic'
        login_page.password_element = '123581mapa'
        login_page.click_login_button_ava25()

    def test_export_excel(self):

        # Select report
        for link in self.link_list:
            print(link)
            if (link == ''):
                pass
            else:
                self.driver.get(link)
                export_xls_page = page.ExportXlsPage(self.driver)
                export_xls_page.click_enviar_button()
                export_xls_page.click_descargar_button()
                time.sleep(10)
                pass

    def tearDown(self):
        self.driver.close()
Пример #8
0
args = parser.parse_args()
period = min(args.period, 12)
ym_list = [(args.year if args.month - i > 0 else args.year - 1,
            args.month - i if args.month - i > 0 else args.month + 12 - i)
           for i in range(period)]

if args.selenium:
    mf = MoneyForwardSelenium(os.environ['MONEYFORWARD_KEYFILE'])
else:
    mf = MoneyForwardRequests(os.environ['MONEYFORWARD_KEYFILE'])
if (not (mf.login())):
    del mf
    sys.exit()
if args.update:
    mf.fetch()
ss = SpreadSheet(os.environ['SPREADSHEET_KEYFILE'],
                 os.environ['SPREADSHEET_ID'])
mfdata_dict = {}
ssdata_dict = {}
lock1 = threading.Lock()
lock2 = threading.Lock()
ts1 = [
    threading.Thread(target=run, args=(year, month, ssdata_dict, ss))
    for (year, month) in ym_list
]
ts2 = [
    threading.Thread(target=run,
                     args=(year, month, mfdata_dict, mf, args.selenium, lock1))
    for (year, month) in ym_list
]
ts3 = [
    threading.Thread(target=run2,
Пример #9
0
from spreadsheet import SpreadSheet

if __name__ == '__main__':

    # create object to access "Validacao_VersaoTestes" spreadsheet
    spreadSheet = SpreadSheet()

    # open worksheet with index no. 1: "Validacao"
    worksheet = spreadSheet.get_worksheet('Validacao_VersaoTestes', 1)

    # check a specific cell of column no. 24
    spreadSheet.check_cell(20)

    # uncheck a specific cell of column no. 24
    spreadSheet.uncheck_cell(21)

    # write an error on a specific cell of column no. 25
    spreadSheet.write_error("error: another dumb error", 20)

    # write a json object error on cell (20, 26)
    spreadSheet.write_json_error({"error": "this is a json error"}, 20, 26)
Пример #10
0
 def new_spreadsheet(self):
     print('New Spreadsheet Selected')
     n_rows = input("Number of rows for spreadsheet: ")
     n_cols = input("Number of columns for spreadsheet: ")
     self.spreadsheet = SpreadSheet([int(n_rows), int(n_cols)])
Пример #11
0
    token = "Zaj0BRu04W1aofVIm2AIxGdhuwI5fUayF9ji8sCBpru"
    headers = {
        "Authorization": "Bearer " + token,
        "Content-Type": "application/x-www-form-urlencoded"
    }
    #message = 'message送信!'
    payload = {"message": text, "stickerPackageId": 2, "stickerId": 513}
    r = requests.post(url, headers=headers, params=payload)


from spreadsheet import SpreadSheet
spreadsheet_name = '1a_PQovhySYPV5D-rGhs1Soh7pvhGWmVltSPsSX_VmuA'
key_name = json_dir + 'raspberryai-62aca965a8af.json'
sheet_name = 'raspi-jump-drive'  #Sheet1' # シート名

sheet = SpreadSheet(
    spreadsheet_name)  #'1a_PQovhySYPV5D-rGhs1Soh7pvhGWmVltSPsSX_VmuA')

import gspread
from oauth2client.service_account import ServiceAccountCredentials


def get_spreadsheet(searchKey):
    scope = [
        'https://spreadsheets.google.com/feeds',
        'https://www.googleapis.com/auth/drive'
    ]
    credentials = ServiceAccountCredentials.from_json_keyfile_name(
        key_name, scope)
    gc = gspread.authorize(credentials)  # JSONキーファイルで認証
    wks = gc.open(sheet_name).sheet1  # sheetをオープン
    records = wks.get_all_values()  # 中身を取り出して配列に保存
Пример #12
0
def spreadSheet_insert(keyFileName, sheetId, appendRange, appendLength, t0, t1,
                       t2, h, l):
    sheet = SpreadSheet(keyFileName, sheetId, appendRange, appendLength)
    sheet.append(["{0:%Y-%m-%d %H:%M:%S}".format(t0), t1, t2, h, l])
Пример #13
0
#!/usr/bin/python3
#coding: utf-8

import time
import datetime
from spreadsheet import SpreadSheet
import bme280

# シート固有のid
sheet = SpreadSheet('xxx')

# データ取得のインターバル[sec]
delay = 600

while (1):
    start = time.time()
    d_time = datetime.datetime.now().strftime("%Y/%m/%d %H:%M:%S")
    sensor = bme280.readData()
    sheet.append([d_time, sensor[0], sensor[1], sensor[2]])
    lap = time.time() - start
    #print("lap_time:{0}".format(end) + "[sec]")
    neri = delay - lap
    time.sleep(neri)