Example #1
0
 def delete(self, tableName, condition):
     sql = 'DELETE FROM  {table} WHERE {condition}'.format(
         table=tableName, condition=condition)
     try:
         self.db.cursor().execute(sql)
         self.db.commit()
     except:
         self.db.rollback()
         stackprinter.show(style='plaintext', source_lines=4)
def demo1():
    def dangerous_function(blub):
        return sorted(blub, key=lambda xs: sum(xs))

    try:
        somelist = [[1, 2], [3, 4]]
        anotherlist = [['5', 6]]
        dangerous_function(somelist + anotherlist)
    except Exception as e:
        stackprinter.show(style='plaintext', source_lines=3)
Example #3
0
 def update(self, tableName, fruitDict, condition):
     table = tableName
     newKeys = [f'{v} = %s' for v in fruitDict.keys()]
     keys = ', '.join(newKeys)
     sql = f'UPDATE {tableName} SET {keys}  WHERE {condition}'
     try:
         self.db.cursor().execute(sql, tuple(fruitDict.values()))
         self.db.commit()
     except:
         self.db.rollback()
         stackprinter.show(style='plaintext', source_lines=4)
Example #4
0
 def insert(self, tableName, fruitDict):
     table = tableName
     keys = ', '.join(fruitDict.keys())
     values = ', '.join(['%s'] * len(fruitDict))
     sql = 'INSERT INTO {table}({keys}) VALUES ({values})'.format(
         table=tableName, keys=keys, values=values)
     try:
         self.db.cursor().execute(sql, tuple(fruitDict.values()))
         self.db.commit()
     except:
         self.db.rollback()
         stackprinter.show(style='plaintext', source_lines=4)
Example #5
0
def run(queue):
    loop = get_event_loop()

    try:
        loop.create_task(listen(queue))
        loop.run_forever()
    except KeyboardInterrupt:
        pass
    except Exception:
        stackprinter.show()
    finally:
        loop.close()
Example #6
0
def call_main(main):

    try:
        return _exit_ok if main() else _exit_fail
    except SystemExit as e:
        return e.code
    except KeyboardInterrupt as e:
        ctrl_c = 3
        return ctrl_c
    except DebugExit:
        return _exit_fail
    except Exception as e:  # pylint: disable=broad-except
        stackprinter.show(e, style='darkbg')
Example #7
0
 def updateOrInsert(self, tableName, fruitDict):
     table = tableName
     keys = ', '.join(fruitDict.keys())
     values = ', '.join(['%s'] * len(fruitDict))
     sql = 'INSERT INTO {table}({keys}) VALUES ({values}) ON DUPLICATE KEY UPDATE'.format(
         table=table, keys=keys, values=values)
     update = ','.join([" {key} = %s".format(key=key) for key in fruitDict])
     sql += update
     try:
         self.db.cursor().execute(sql, tuple(fruitDict.values()) * 2)
         self.db.commit()
     except:
         self.db.rollback()
         stackprinter.show(style='plaintext', source_lines=4)
Example #8
0
def 抽签():
    签 = ""
    备选字符 = [0, 1]
    三枚铜钱 = []
    爻序 = 1
    爻列表 = []
    变爻序号 = []
    变爻次数 = 0
    变卦 = ""
    for i in range(6):
        for j in range(3):
            摇卦 = random.choice(备选字符)
            三枚铜钱.append(摇卦)

        if 三枚铜钱.count(0) == 3:
            爻列表.append("X")
            变爻序号.append(i + 1)
            变爻次数 += 1
            爻 = 0
            变卦 += "1"
        elif 三枚铜钱.count(1) == 3:
            爻列表.append("O")
            变爻序号.append(i + 1)
            变爻次数 += 1
            爻 = 1
            变卦 += "0"
        elif 三枚铜钱.count(1) == 2:
            爻列表.append("—")
            爻 = 1
            变卦 += str(爻)
        elif 三枚铜钱.count(0) == 2:
            爻列表.append("--")
            爻 = 0
            变卦 += str(爻)
        else:
            stackprinter.show()

        爻序 += 1
        签 += str(爻)
        三枚铜钱.clear()

    if 变爻次数 == 0:
        变卦 = "静卦"
    # 爻列表.reverse()
    ic(爻列表)
    ic(变爻次数)
    ic(变爻序号)
    ic(变卦)
    return 签, 变卦, 变爻次数, 变爻序号
Example #9
0
               "multi line "\
               "string"
        # np.reshape(bla, 9000)
        try:
            bla.nonexistant_attribute
        except:
            pass
        supersecret = "you haven't seen this"
        boing = np.\
                random.rand(*bla.T.\
                        T.T)
        raise Exception('something happened')


####


@pytest.fixture
def sourcelines():
    with open(__file__, 'r') as sf:
        lines = sf.readlines()
    return lines


if __name__ == '__main__':
    import stackprinter
    try:
        Hovercraft().eels
    except:
        stackprinter.show(style='darkbg')
Example #10
0
    dir_1080 = path + "1080"
    dir_2k = path + "2k"
    dir_4k = path + "4k"
    if not os.path.isdir(dir_1080):
        os.makedirs(dir_1080)
    if not os.path.isdir(dir_2k):
        os.makedirs(dir_2k)
    if not os.path.isdir(dir_4k):
        os.makedirs(dir_4k)


def doWork():
    url = getUrl(1)
    download(url, 1)

    url = getUrl(2)
    download(url, 2)

    url = getUrl(4)
    download(url, 4)


if __name__ == "__main__":
    try:
        checkDir()
        doWork()
        updateImage()
    except BaseException as e:
        print(e)
        stackprinter.show()
Example #11
0
    def download(self, sessionId):
        url = f"https://pangpang.dooray.com/v2/wapi/projects/*/posts?order=-createdAt&page=0&projectScope=all&size=30&toMemberIds=2006398569098578504&userWorkflowClass=registered,working"
        count, contents = self.fetchPost(url, sessionId)
        self.toExcel("2.第二重境/temp_data", contents)

    def fetchPost(self, url, sessionId):
        cookies_jar = requests.cookies.RequestsCookieJar()
        cookies_jar.set('SESSION', sessionId, domain='.dooray.com', path='/')
        resp = requests.get(url, cookies=cookies_jar)
        post = resp.json()
        totalCount = post["result"]["totalCount"]
        contents = post["result"]["contents"]
        return totalCount, contents

    def toExcel(self, abPath, contents):
        fileName = "dooray_post.xlsx"
        excelPath = "{}/{}".format(abPath, fileName)
        dataframe = pandas.DataFrame(contents)
        dataframe.to_excel(excelPath, encoding="utf-8")
        return None


if __name__ == "__main__":
    stackprinter.set_excepthook()
    try:
        sessionId = input("请输入dooray的sessionId:")
        m = DorDownloader()
        m.download(sessionId)
    except Exception as inst:
        stackprinter.show(style='plaintext', source_lines=4)
def demo2():
    try:
        1 / 0
    except Exception as e:
        stackprinter.show(style='plaintext', source_lines=3)
Example #13
0
            if np.sum(k) != 0:
                return [[do_something(val) for val in row] for row in X]

    def some_function(boing, zap='!'):
        thing = boing + zap
        a_broken_function(thing)

    def another_broken_function(val):
        if np.sum(val) != 42:
            bla = val.T.\
                  T.T.\
                  T

            # here is a comment \
            # that has backslashes \
            # for some reason
            ahoi = "here is a "\
                   "multi line "\
                   "string"
            # np.reshape(bla, 9000)
            boing = np.\
                    random.rand(*bla.T.\
                            T.T)
            raise Exception('something happened')

    try:
        whatever().ahoi()
    except:
        # raise
        stackprinter.show(style='darkbg', reverse=False, suppressed_paths=[r"lib/python.*/site-packages/numpy"])
Example #14
0
import numpy
import stackprinter


def dangerous_function(blub):
    return sorted(blub, key=lambda xs: sum(xs))


try:
    somelist = [[1, 2], [3, 4]]
    anotherlist = [['5', 6]]
    spam = numpy.zeros((3, 3))
    supersecret = "you haven't seen this"
    dangerous_function(somelist + anotherlist)
except:
    stackprinter.show(style='plaintext',
                      source_lines=4,
                      suppressed_vars=[r".*secret.*"])
Example #15
0
if __name__ == '__main__':
    import stackprinter
    from tests.source import Hovercraft

    try:
        Hovercraft().eels()
    except:
        # raise
        stackprinter.show(style='darkbg2',
                          line_wrap=40,
                          reverse=False,
                          suppressed_paths=[r"lib/python.*/site-packages/numpy"],
                          suppressed_vars=[r".*secret.*"])
Example #16
0
def 解签(待解的签, 变卦="", 变爻次数="0", 变爻序号=[]):
    待解的签 = 待解的签
    变卦 = 变卦
    变爻次数 = 变爻次数
    变爻序号 = 变爻序号
    原始爻 = {1: "初", 2: "二", 3: "三", 4: "四", 5: "五", 6: "上"}
    解签用变爻序号 = ""

    connect = sqlite3.connect("zanbu.db")
    cursor = connect.cursor()

    # 测试变爻次数
    # 根据变爻次数按顺序取解签序号,这里会根据变爻次数确定取值及顺序
    # 六爻不变为静卦,用本卦卦辞解卦
    # 变爻次数=1,就用这个变爻的爻辞解卦
    # 变爻次数=2,就用这两个变爻的爻辞解卦,以上爻为主(上爻在前)
    # 变爻次数=3,用本卦卦辞结合变卦卦辞作综合考虑
    # 变爻次数=4,用另外两个静爻的爻辞解卦,并以下爻爻辞为主(原始爻和变爻序号的差集,余二,下爻在前)
    # 变爻次数=5,用变卦的静爻爻辞解卦
    # 变爻次数=6,乾、坤用用九,用六爻辞解卦,其它卦则用变卦的卦辞解卦
    if 变爻次数 == 1:
        for i in 变爻序号:
            解签用变爻序号 += 原始爻[i]

        sql = "SELECT " + 解签用变爻序号 + " FROM zanbu WHERE 符号=" + '"' + 待解的签 + '"'
        ic(sql)
        cursor.execute(sql)
        ic(cursor.fetchall())

    elif 变爻次数 == 2:
        for i in 变爻序号:
            解签用变爻序号 += 原始爻[i]
            解签用变爻序号 += ","

        # 去掉最后的逗号
        解签用变爻序号 = 解签用变爻序号[:-1]
        # 倒序
        解签用变爻序号 = 解签用变爻序号[::-1]
        sql = "SELECT " + 解签用变爻序号 + " FROM zanbu WHERE 符号=" + '"' + 待解的签 + '"'
        ic(sql)
        cursor.execute(sql)
        ic(cursor.fetchall())

    elif 变爻次数 == 3:
        sql = "SELECT 初,二,三,四,五,上 FROM zanbu WHERE 符号=" + '"' + 待解的签 + '"'
        sql_bg = "SELECT 初,二,三,四,五,上 FROM zanbu WHERE 符号=" + '"' + 变卦 + '"'
        ic(sql, sql_bg)
        cursor.execute(sql)
        ic(cursor.fetchall())
        cursor.execute(sql_bg)
        ic(cursor.fetchall())

    elif 变爻次数 == 4:
        # 求差集得到两个静爻
        解签用变爻序号1 = ""
        b = {1: "初", 2: "二", 3: "三", 4: "四", 5: "五", 6: "上"}
        for i in 变爻序号:
            # ic(i)
            b.pop(i)
            #ic(b)
        for i in b:
            解签用变爻序号1 += b[i]
            解签用变爻序号1 += ","
            #ic(解签用变爻序号1)
        # 去掉最后的逗号
        解签用变爻序号1 = 解签用变爻序号1[:-1]
        sql = "SELECT " + 解签用变爻序号1 + " FROM zanbu WHERE 符号=" + '"' + 待解的签 + '"'
        ic(sql)
        try:
            cursor.execute(sql)
            ic(cursor.fetchall())
        except:
            stackprinter.show()

    elif 变爻次数 == 5:
        # 求差集得到一个静爻
        解签用变爻序号1 = ""
        b = {1: "初", 2: "二", 3: "三", 4: "四", 5: "五", 6: "上"}
        for i in 变爻序号:
            # ic(i)
            b.pop(i)
            #ic(b)
        for i in b:
            解签用变爻序号1 += b[i]
            解签用变爻序号1 += ","
            ic(解签用变爻序号1)
        # 去掉最后的逗号
        解签用变爻序号1 = 解签用变爻序号1[:-1]
        sql = "SELECT " + 解签用变爻序号1 + " FROM zanbu WHERE 符号=" + '"' + 变卦 + '"'
        ic(sql)
        try:
            cursor.execute(sql)
            ic(cursor.fetchall())
        except:
            stackprinter.show()

    elif 变爻次数 == 6:
        if 待解的签 == "111111" or 待解的签 == "000000":
            sql = "SELECT 用九 FROM zanbu WHERE 符号=" + '"' + 待解的签 + '"'
            cursor.execute(sql)
            ic(cursor.fetchall())
        else:
            sql = "SELECT 初,二,三,四,五,上 FROM zanbu WHERE 符号=" + '"' + 变卦 + '"'
            cursor.execute(sql)
            ic(cursor.fetchall())
    else:
        # 为0的情况
        sql = "SELECT 初,二,三,四,五,上 FROM zanbu WHERE 符号=" + '"' + 待解的签 + '"'
        cursor.execute(sql)
        ic(cursor.fetchall())

    cursor.close()