1. Python / Говнокод #23627

    0

    1. 1
    Рубрика "плагины к Kodi" вернулась!

    http://kodi-addons.club/addon/plugin.video.viks.tv/4.2.0

    Качаем, открываем epg.db (формат sqlite), охуеваем. Можно еще поизучать файлы напитоне.

    syoma, 30 Декабря 2017

    Комментарии (14)
  2. Python / Говнокод #23626

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    def _get_list(self, string):
            """
                response to list parser, removes CSV list headers
            """
            def f(x):
                return x != '' and \
                        x != 'Created,e-Voucher number,Activation code,Currency,Batch,Payer Account,Payee Account,Activated,Amount' and \
                        x != 'Time,Type,Batch,Currency,Amount,Fee,Payer Account,Payee Account,Payment ID,Memo'
            if not string:
                return []
            rlist = string.split('\n')
            return filter(f, rlist)

    https://perfectmoney.is/acct/samples/python/class.txt
    Класс для работы с платёжным API

    хуита, 29 Декабря 2017

    Комментарии (1)
  3. Python / Говнокод #23598

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    import re
    
    alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
                'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
    text = input('Enter your message: ')
    text = re.findall(r'\w', text)
    
    key = input('Enter your key: ')
    key = int(key)
    a = len(text)
    b = 0
    num = 0
    message = []
    c = ''
    
    for i in range(a):
        num = alphabet.index(text[b])
        num = num + key
        b = b + 1
        if num <= 25:
            message.append(alphabet[num])
        else:
            num = num%25 - 1
            message.append(alphabet[num])
           
    print(text)
    print(message)
    for i in range(a):
        c += message[(i)]
    print(c)

    Шифр Цезаря

    Alex1982, 19 Декабря 2017

    Комментарии (0)
  4. Python / Говнокод #23584

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    import tkinter
    import random
    
    # constants
    WIDTH = 540
    HEIGHT = 480
    BG_COLOR = 'white'
    MAIN_BALL_COLOR = 'blue'
    MAIN_BALL_RADIUS = 25
    COLORS = ['aqua', 'fuchsia', 'pink', 'yellow', 'gold', 'chartreuse']
    NUM_OF_BALLS = 9
    MAX_RADIUS = 35
    MIN_RADIUS = 15
    DELAY = 8
    INIT_DX = 1
    INIT_DY = 1
    ZERO = 0
    
    # ball class
    class Ball():
        def __init__(self, x, y, r, color, dx=0, dy=0):
            self.x = x
            self.y = y
            self.r = r
            self.color = color
            self.dx = dx
            self.dy = dy
    
        def draw(self):
            canvas.create_oval(self.x - self.r, self.y - self.r, self.x + self.r, self.y + self.r, fill=self.color,
                               outline=self.color)
    
        def hide(self):
            canvas.create_oval(self.x - self.r, self.y - self.r, self.x + self.r, self.y + self.r, fill=BG_COLOR,
                               outline=BG_COLOR)
    
        def is_collision(self, ball):
            a = abs(self.x + self.dx - ball.x)
            b = abs(self.y + self.dy - ball.y)
            return (a * a + b * b) ** 0.5 <= self.r + ball.r
    
        def move(self):
            # collision with the walls
            if (self.x + self.r + self.dx >= WIDTH) or (self.x - self.r + self.dx <= ZERO):
                self.dx = -self.dx
            if (self.y + self.r + self.dy >= HEIGHT) or (self.y - self.r + self.dy <= ZERO):
                self.dy = -self.dy
    
            self.hide()
            self.x += self.dx
            self.y += self.dy
            if self.dx * self.dy != 0:
                self.draw()
    
    # process the mouse events
    def mouse_click(event):
        global main_ball
        if event.num == 1:  # left mouse button
            if 'main_ball' not in globals():  # старт
                main_ball = Ball(event.x, event.y, MAIN_BALL_RADIUS, MAIN_BALL_COLOR, INIT_DX, INIT_DY)
                if main_ball.x > WIDTH / 2:
                    main_ball.dx = -main_ball.dx
                if main_ball.y > HEIGHT / 2:
                    main_ball.dy = -main_ball.dy
                main_ball.draw()
    
    # create a list of objects-balls
    def create_list_of_balls(number):
        lst = []
        return lst
    
    # games main loop
    def main():
        if 'main_ball' in globals():
            main_ball.move()
        root.after(DELAY, main)
    
    # create a window, the canvas and start game
    root = tkinter.Tk()
    root.title("Colliding Balls")
    canvas = tkinter.Canvas(root, width=WIDTH, height=HEIGHT, bg=BG_COLOR)
    canvas.pack()
    canvas.bind('<Button-1>', mouse_click)
    canvas.bind('<Button-2>', mouse_click, '+')
    canvas.bind('<Button-3>', mouse_click, '+')
    balls = create_list_of_balls(NUM_OF_BALLS)
    if 'main_ball' in globals():  # for restarts
        del main_ball
    main()
    root.mainloop()

    Quatrix, 14 Декабря 2017

    Комментарии (0)
  5. Python / Говнокод #23532

    0

    1. 1
    PYTHONPATH=$(pwd) LANG=C.UTF-8 pipenv run ./scripts/script

    Как работает виртуализация в Питоне.

    wvxvw, 14 Ноября 2017

    Комментарии (15)
  6. Python / Говнокод #23524

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    def _code_length(code=''):
        CODE_MIN_LENGTH = 6
        CODE_MAX_LENGTH = 8
        if code in range(self.HS_CODE_MIN_LENGTH, self.HS_CODE_MAX_LENGTH + 1):
            return code
        _cut = lambda hsl: hsl[:self.HS_CODE_MIN_LENGTH]
        _pad = lambda hsl: hsl.extend(repeat(0, self.HS_CODE_MIN_LENGTH + 1 - len(hsl)))
        hsl = harmonized_code.split()
        if len(hsl) < CODE_MIN_LENGTH:
            return ''.join(_pad(hsl))
        if len(hsl) > CODE_MAX_LENGTH:
            return ''.join(_cut(hsl))

    skynv, 13 Ноября 2017

    Комментарии (0)
  7. Python / Говнокод #23495

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    from tkinter import *
     
    class Space():
        def __init__(self):
            object=Tk()
                    object=Canvas(root, bg="green")
            object.pack()
            object.mainloop()
    class Line():
        def __init__(self, space):
            space.create_line(x, y, x1,y1)
     
    root=Space()
    canv=Line(root)

    Отсюда http://python.su/forum/topic/34021/

    Самое удивительное, что автор шедевра некто Jeka_KOzolup1 - учитель информатики, причем у него довольно высокое мнение о своих преподавательских способностях.

    FishHook, 07 Ноября 2017

    Комментарии (46)
  8. Python / Говнокод #23476

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    if cur == 'EUR':
            alldata['total'] = alldata['total'] * Decimal(58)
            alldata['cost'] = alldata['cost'] * Decimal(58)
        elif cur == 'USD':
            alldata['total'] = alldata['total'] * Decimal(62)
            alldata['cost'] = alldata['cost'] * Decimal(62)
        elif cur == 'GBP':
            alldata['total'] = alldata['total'] * Decimal(71)
            alldata['cost'] = alldata['cost'] * Decimal(71)
        elif cur == 'UAH':
            alldata['total'] = alldata['total'] * Decimal(2)
            alldata['cost'] = alldata['cost'] * Decimal(2)

    Простой конвертер валют своими руками!
    💩-💩 и в продакшен!!!

    farmspam, 02 Ноября 2017

    Комментарии (10)
  9. Python / Говнокод #23458

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    import os
    import argparse
    import sys
    parser = argparse.ArgumentParser(description='tree')
    parser.add_argument('path',type=str,)
    parser.add_argument('-fo','--folders_only',action='store_true',)
    parser.add_argument('-i','--include',type=str,action='store',)
    parser.add_argument('-e','--exclude',type=str,action='store',)
    parser.add_argument('-a','--all',action='store_true',)
    parser.add_argument('-f','--full_name',action='store_true',)
    args = parser.parse_args()
    print(sys.argv[1])
    if args.include:
        itext = args.include
    if args.exclude:
        etext = args.exclude
    def divine_crutch(path, n):
        dir = os.listdir(path)
        for i in range(len(dir)):
            if os.path.isfile(path + '\\' + dir[i]):
                if not(args.folders_only):
                    if not(args.include and itext not in dir[i]):
                        if not(args.exclude and etext in dir[i]):
                            if not(not(args.all) and dir[i][0] == '.') and not(args.full_name):
                                print(n*' ', dir[i])
                            elif args.full_name and not(not(args.all) and dir[i][0] == '.'):
                                print(n*' ' ,path + '\\' + dir[i])
            if os.path.isdir(path + '\\' + dir[i]):
                if not(not(args.all) and dir[i][0] == '.') and not(args.full_name):
                    print(n*' ', dir[i])
                elif args.full_name and not(not(args.all) and dir[i][0] == '.'):
                    print(n*' ' ,path + '\\' + dir[i])
                n += 4
                divine_crutch(path + '\\' + dir[i], n)
                n -= 4
    divine_crutch(sys.argv[1], 4)

    Рекурсивный велосипед на костыльной тяге. Сей экземпляр является "аналогом системной утилиты tree под линукс". При подходящей фазе луны и выполнении условий ритуала чёрной магии, способен захавать 16 гигов оперативки и крашнуть систему. Прекрасный способ выстрелить в ногу на питоне. Достойное место в моей кунсткамере.

    Caladrius, 26 Октября 2017

    Комментарии (1)
  10. Python / Говнокод #23456

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    while (1):
        for iterator in range(len(posts)):
            # Для прозрачности вычислений
            time_post_a = datetime.now()
            time_post_a = int(time.mktime(time_post_a.timetuple()))
    
            time_post_b = posts[iterator]['time']
            time_post_b = int(time.mktime(time_post_b.timetuple()))
    
            # Выполнить действие, в случае, если "время пришло" по массиву posts
            if ((time_post_a - time_post_b) == 0):
                print ('Итератор: ' + str(iterator) + ', Новая публикация: ' + str(posts[iterator]['time']))
                time.sleep(1) # Если его убрать, то начинаются дикие пляски
                break

    Планировщик постов

    meridium, 26 Октября 2017

    Комментарии (16)