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

    +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
    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
    def __get_column_names(table: str) -> tuple:
        try:
            with conn:
                cur.execute("SELECT name FROM PRAGMA_TABLE_INFO(?)", (table,))
                column_names = cur.fetchall()
        except Exception as excpt:
            print(excpt)
        column_names = tuple(i[0] for i in column_names)
        return column_names
    
    
    def db_register_user(user_data: types.User):
        """
        SQL запрос для внесения данных о пользователе
    
        Args:
            user_data: telebot User объект, содержащий словарь с параметрами пользователя
        """
        user_data = user_data.to_dict()
        column_names: tuple = __get_column_names('Users')
        user_values = tuple(user_data.get(key) for key in column_names if key in user_data)
        try:
            with conn:
                query = 'INSERT INTO Users cn'.replace('cn', str(column_names))+' VALUES (?,?,?,?,0,3)'
                parameters = (*user_values,)
                conn.execute(query, parameters)
        except Exception as excpt:
            print(excpt)
        conn.close()

    На сколько в такой ситуации .format не безопасен? Идея в том, чтобы не объебошится программисту в коде введя неверное значение колонки. Для этого имена колонок берутся из самой базы (есть мысль ещё и типы брать). Есть вариант реализации получше? Спасибо

    rockkley94, 26 Декабря 2022

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    from db.session import DB
    
    session = DB.session()
    session.query(Prefix).filter(Prefix.user_id==user_id, Prefix.prefix.ilike('%your persona:%')).delete()
    session.commit()

    storvus, 21 Декабря 2022

    Комментарии (4)
  3. Куча / Говнокод #28519

    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
    YAML:
    - 0:00
    - 01:00
    - 12:34
    
    yaml2json.hs
    ["0:00","01:00","12:34"]
    
    yaml2json.pl
    ["0:00","01:00","12:34"]
    
    yaml2json.py
    ["0:00", "01:00", 754]
    
    yaml2json.rb
    [0,3600,45240]
    
    rq
    ["0:00","01:00","12:34"]

    https://github.com/cblp/yaml-sucks

    ISO, 21 Декабря 2022

    Комментарии (8)
  4. JavaScript / Говнокод #28518

    0

    1. 1
    const govnoMochi = `$mocha.govno` ?? "Ваше говно не определено";

    ISO, 20 Декабря 2022

    Комментарии (10)
  5. JavaScript / Говнокод #28517

    0

    1. 1
    const govnoMochi = `$mocha.govno` ?? "Ваше говно не определено";

    ISO, 20 Декабря 2022

    Комментарии (2)
  6. PHP / Говнокод #28515

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function gk_nitter_filter($url) {
        $url = preg_replace('/https?:\/\/(?:mobile\.)?twitter\.com\/(\S*)/', 'https://nitter.kavin.rocks/$1', $url);
        $url = preg_replace('/https?:\/\/pbs\.twimg\.com\/(\S+)\?format=(\w+)(\S*)/', 'https://nitter.kavin.rocks/pic/$1.$2', $url);
        $url = preg_replace('/https?:\/\/pbs\.twimg\.com\/(\S*)/', 'https://nitter.kavin.rocks/pic/$1', $url);
        return $url;
    }

    НИТТЕР КАВИН РОКС!

    gostinho, 20 Декабря 2022

    Комментарии (14)
  7. Куча / Говнокод #28504

    0

    1. 1
    Хей, хелло,

    Меня зовут Семен. Я бородатый, дрыщавый укродойч, которому на днях будет 39, и который нихуя в этой жизни не сделал. У меня нет ни семьи ни девушки. Я не работаю по профессии и лишь пинаю болт, просиживая целый день у монитора. Кстати, принесенного с ближайшей свалки. Помимо курения и пьянства, в число моих увлечений входят прогулки по германским помойкам. Сказывается невъебенная любовь к халяве, свойственная всем украинцам, которая передалась мне с генами.

    А ещё я люблю засовывать в попу пальчик а потом его нюхать.

    guest6_uebok, 18 Декабря 2022

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

    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
    #!/usr/bin/env python3
    
    import sys
    import socket
    
    
    def main():
        if len(sys.argv) != 2:
            print("Программа ожидает 1 аргумент: доменное имя хоста")
            return 1
    
        # Input.
    
        host_name = sys.argv[1]
        print(f"Доменное имя хоста: {host_name}")
    
        host_ip = socket.gethostbyname(host_name)
        print(f"IP-адрес хоста: {host_ip}")
    
        host_port = 33433
        timeout = 2 # Seconds.
    
        receiving_socket = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_ICMP)
        receiving_socket.setsockopt(socket.SOL_IP, socket.IP_HDRINCL, 1)
        receiving_socket.settimeout(timeout)
        receiving_socket.bind(("", host_port))
    
        sending_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
        sending_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    
        received_ip = None
        current_hop = 1
        max_hop = 100
        while received_ip != host_ip and current_hop < max_hop:
            sending_socket.setsockopt(socket.IPPROTO_IP, socket.IP_TTL, current_hop)
            sus = True
            for i in range(7):
                try:
                    sending_socket.sendto(bytes(str(current_hop), 'utf-8'), (host_ip, host_port))
                    data, addr = receiving_socket.recvfrom(1)
                    if addr:
                        received_ip = addr[0]
                        print(f"hop: {current_hop} -> {received_ip}")
                        sus = False
                        break
                    else:
                        raise "sus"
                except:
                    continue
            if sus:
                print(f"hop: {current_hop} -> *")
            current_hop += 1
    
    
    if __name__ == "__main__":
        main()

    Что-то я давно не заходил... был занят, писал утилиту. Лицензия – «MIT».

    JloJle4Ka, 18 Декабря 2022

    Комментарии (9)
  9. JavaScript / Говнокод #28502

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    const newRecords = {}
    
    for (const prop in overridenRecords) {
      if(Object.prototype.hasOwnProperty.call(overridenRecords, prop)) {
        const source = Object.values(allRecords).find((record) => record.id == prop)
        newRecords[prop] = {...overridenRecords[prop], ...source}
      }
    }
    
    return newRecords

    bootcamp_dropout, 17 Декабря 2022

    Комментарии (22)
  10. Куча / Говнокод #28501

    0

    1. 1
    IT Оффтоп #163

    #133: https://govnokod.ru/27828 https://govnokod.xyz/_27828
    #134: https://govnokod.ru/27834 https://govnokod.xyz/_27834
    #135: https://govnokod.ru/27839 https://govnokod.xyz/_27839
    #136: https://govnokod.ru/27845 https://govnokod.xyz/_27845
    #137: https://govnokod.ru/27857 https://govnokod.xyz/_27857
    #138: https://govnokod.ru/27867 https://govnokod.xyz/_27867
    #139: https://govnokod.ru/27887 https://govnokod.xyz/_27887
    #140: https://govnokod.ru/27900 https://govnokod.xyz/_27900
    #141: https://govnokod.ru/27914 https://govnokod.xyz/_27914
    #142: https://govnokod.ru/27942 https://govnokod.xyz/_27942
    #143: https://govnokod.ru/27960 https://govnokod.xyz/_27960
    #144: https://govnokod.ru/27972 https://govnokod.xyz/_27972
    #145: https://govnokod.ru/27996 https://govnokod.xyz/_27996
    #146: https://govnokod.ru/28008 https://govnokod.xyz/_28008
    #147: https://govnokod.ru/28049 https://govnokod.xyz/_28049
    #148: https://govnokod.ru/28087 https://govnokod.xyz/_28087
    #149: https://govnokod.ru/28136 https://govnokod.xyz/_28136
    #150: https://govnokod.ru/28157 https://govnokod.xyz/_28157
    #151: https://govnokod.ru/28209 https://govnokod.xyz/_28209
    #152: https://govnokod.ru/28217 https://govnokod.xyz/_28217
    #153: https://govnokod.ru/28232 https://govnokod.xyz/_28232
    #154: https://govnokod.ru/28275 https://govnokod.xyz/_28275
    #155: https://govnokod.ru/28281 https://govnokod.xyz/_28281
    #156: https://govnokod.ru/28322 https://govnokod.xyz/_28322
    #157: https://govnokod.ru/28344 https://govnokod.xyz/_28344
    #158: https://govnokod.ru/28366 https://govnokod.xyz/_28366
    #159: https://govnokod.ru/28391 https://govnokod.xyz/_28391
    #160: https://govnokod.ru/28434 https://govnokod.xyz/_28434
    #161: https://govnokod.ru/28449 https://govnokod.xyz/_28449
    #162: https://govnokod.ru/28477 https://govnokod.xyz/_28477

    nepeKamHblu_nemyx, 17 Декабря 2022

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