@TWT

TWT

Бэтмен разбрасывает конфетти
TWT

Дата рождения: 16.11.1999

134 я читаю 36 меня читают
4612 постов
9616 комментариев
TWT
08 May 2016
TWT

Исключительно из-за любви к питону я набросал скрипт по имени 0xd34df00migator.py для 0хd34df00d // via #igqhi/4
Скрипт лежит в https://paste.kde.org/pm77wmmpj и выглядит вот так:

#-*- coding: utf-8  -*-
import os
xwords = [
    b'Q_DECLARE_METATYPE',
    b'Q_DECLARE_OPERATORS_FOR_FLAGS',
    b'Q_DECLARE_INTERFACE',
]
multilinexwords = [
    b'Q_DECLARE_INTERFACE',
]
for root, dirs, files in os.walk(".", topdown=False):
    for name in files:
        if name.endswith('.h'):
            fn = os.path.join(root, name)
            print(fn)
            with open(fn, 'rb') as f:
                content = f.readlines()
                newcontent = []
            prevline = b''
            for line in content:
                newline = line
                for xword in xwords:
                    if xword in line:
                        print(line)
                        if line.strip().endswith(b';'):
                            newline = line.replace(b';', b'')
                            break
                for xword in multilinexwords:
                    if xword in prevline:
                        print(prevline)
                        if line.strip().endswith(b';'):
                            newline = line.replace(b';', b'')
                            break
                newcontent.append(newline)
                prevline = line
            content = b''.join(newcontent)
            with open(fn, 'wb') as f:
                f.write(content)

Скрипт исправляет косяки в leechcraft и получается вот такой patch на 2.5к строк
(по ссылке https://paste.kde.org/p1jw4n9yw лежит полный git diff а здесь в посте только небольшой кусочек для красоты)

diff --git a/src/plugins/azoth/interfaces/azoth/imucperms.h b/src/plugins/azoth/interfaces/azoth/imucperms.h
index a9010be..2c47d4f 100644
--- a/src/plugins/azoth/interfaces/azoth/imucperms.h
+++ b/src/plugins/azoth/interfaces/azoth/imucperms.h
@@ -218,6 +218,6 @@ namespace Azoth
 }

 Q_DECLARE_INTERFACE (LeechCraft::Azoth::IMUCPerms,
-       "org.Deviant.LeechCraft.Azoth.IMUCPerms/1.0");
+       "org.Deviant.LeechCraft.Azoth.IMUCPerms/1.0")

 #endif
diff --git a/src/plugins/azoth/interfaces/azoth/imucprotocol.h b/src/plugins/azoth/interfaces/azoth/imucprotocol.h
index 89b1bb7..2133ea8 100644
--- a/src/plugins/azoth/interfaces/azoth/imucprotocol.h
+++ b/src/plugins/azoth/interfaces/azoth/imucprotocol.h
@@ -101,4 +101,4 @@ namespace Azoth
 }

 Q_DECLARE_INTERFACE (LeechCraft::Azoth::IMUCProtocol,
-       "org.Deviant.LeechCraft.Azoth.IMUCProtocol/1.0");
+       "org.Deviant.LeechCraft.Azoth.IMUCProtocol/1.0")
diff --git a/src/plugins/azoth/interfaces/azoth/iprotocol.h b/src/plugins/azoth/interfaces/azoth/iprotocol.h
index 9a990f9..e0094e3 100644
--- a/src/plugins/azoth/interfaces/azoth/iprotocol.h
+++ b/src/plugins/azoth/interfaces/azoth/iprotocol.h
@@ -255,7 +255,7 @@ namespace Azoth
 }
 }

-Q_DECLARE_METATYPE (LeechCraft::Azoth::IProtocol*);
-Q_DECLARE_OPERATORS_FOR_FLAGS (LeechCraft::Azoth::IProtocol::ProtocolFeatures);
+Q_DECLARE_METATYPE (LeechCraft::Azoth::IProtocol*)
+Q_DECLARE_OPERATORS_FOR_FLAGS (LeechCraft::Azoth::IProtocol::ProtocolFeatures)
 Q_DECLARE_INTERFACE (LeechCraft::Azoth::IProtocol,
-       "org.Deviant.LeechCraft.Azoth.IProtocol/1.0");
+       "org.Deviant.LeechCraft.Azoth.IProtocol/1.0")

Можно накатывать сразу патч на мастер, а можно запустить питон - смотря в какой вы ветке сейчас.
Если дедфуд не воспользуется этим всем и его личи будут по-прежнему срать в консоль ворнингами о лишних ';' то хуй тогда пойми, например.

P. S. Господа nicka и c-a-s-u-s посмотрите плиз, сможете ли вы на sed и awk это повторить

Рекомендовано: 0xd34df00d
08 May 2016

да ты охуел, пидорас. как-то так ты внезапно упорото и ебануто соскочил с темы "вот есть файл, в нем надо удалить все запятые вообще".

08 May 2016
TWT

nicka, я очень коварный

#ootyfx/2 в ответ на /1
08 May 2016

TWT, спасибо.

08 May 2016

Коленка умный. Будь как коленка!

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.