использование python вместо php для создание info.xml
Dmitri 4 декабря, 2011 - 11:41
Всем доброго времени суток,
я думаю поднять apk репозиторий для внутреннего пользования.
на http://aptoide.com/server.html выложен php скрипт для создания info.xml
может будет у кого желание изобразить функционал на python?
держать php ради одного скрипта не хочется.
»
- Для комментирования войдите или зарегистрируйтесь

Неплохо бы сказать, что это
Неплохо бы сказать, что это вообще такое.
Не грусти, товарищ! Всё хорошо, beautiful good!
насколько я понимаю это
насколько я понимаю это оверлей для андроидофона.
альтернативый репозиторий для андроидных програм
Как Вадим правильно ответил - это оверлей для андроидных програм.
в деталях - приложения в андроиде мне хотелось бы ставить подряд из своей коллекции, вместо того что бы лазить по гугломаркету в поисках.
сам скрипт обходит поддиректории, вытаскивает инфу из apk файлов и складывает ее в xml файл.
Это скрипт потом отдается aptoid/apktor клиенту при подключении.
а учитывая то что перешиваю rom довольно часто - то хочется централизованного решения для себя.
про бэкап в гугле знаю, но не хочу, подумываю о полной отвязке телефона от гугла.
изначальный php скрипт generate.ph
bash скрипт может быть даже и удобнее чем питон...
/
Давно известно, что настоящие джедаи пишут cgi-скрипты на баше :)))
:wq
--
Live free or die
нагрузки не несет
ну скажем это далеко не cgi-script, определение на wikipedia (на русский перевод там тоже линк есть).
скрипт нужен для создания статичного xml файла, и будет от силы запускатся один - два раза в неделю,
и обходить десяток - другой поддиректорий, в смысле участвовать в формировании html он не будет.
так что разницы от языка, на котором скрипт сделан - я не прочувствую.
просто у самого навыков программирования практически нету, и поэтому прошу помочь.
пошаговое написание скрипта
1. сделать лист apk файлов
find . -type f -name '*.apk' -print2.попользовать aapt для вытаскивания инфы из apk файла
find . -type f -name '*.apk' -exec ./aapt d badging {} +уже не работает.
Как сделать рекурсию для программы которая не понимает список файлов?
.
Склонен подозревать особенность реализации опции
-exec(ты ничего не напутал в синтаксисе?).Я бы написал скрипт для обработки одного файла и указывал его в качестве аргумента.
Т.е.
process.sh:Ну и далее:
find . -type f -name '*.apk' -exec /path/to/process.sh {}\;:wq
--
Live free or die
синтаксис
ага, напутал.
выводим инфу из всех найденных пакетов и записываем в
list.rawfind . -type f -name '*.apk' -exec ./aapt d badging {} \; > list.rawтеперь вытаскиваем то что нам надо
name
grep application list.raw| cut -d\' -f2icon
grep application list.raw| cut -d\' -f4pkg
grep package list.raw| cut -d\' -f2ver
grep package list.raw| cut -d\' -f6vercode
grep package list.raw| cut -d\' -f4считаем md5sum - здесь снова надо обращаться с файлу
find . -type f -name '*.apk' -exec md5sum {} \;Смотрим дату модификации файла
find . -type f -name '*.apk' -exec stat -c %z {} \; | cut -d\ -f1а вот как теперь эту информацию собрать в xml файл я не представляю
у них на сайте pdf со спецификациями выложен
Должно получится что то вроде
<?xml version="1.0" encoding="UTF-8"?> <apklst> <package> <apkid>ex.app1.com</apkid> <path>App1.apk</path> </package> <package> <apkid>ex.app2.com</apkid> <path>App2.apk</path> <name>App 2</name> <ver>2.1.1</ver> <icon>/icons/app2.ico</icon> <catg>Game</catg> <date>21-01-10</date> </package> </apklst>TODO: выковырять иконки