instead-manager

  1. 2 years ago

    jhekasoft

    Jan 2015 Постоялец Мариуполь, Киев User since 2014
    Edited 2 years ago by jhekasoft

    Представляю вашему внимаю консольную утилиту instead-manager для поиска в репозиториях и установки игр INSTEAD. Можно сказать, что это аналог instead-launcher. Меня instead-launcher не совсем устраивал, а копаться в его коде не совсем хотелось (хотя я когда-то это делал и мне он не совсем понравился). В общем в первую очередь сделал для себя и решил поделиться. :)

    instead-manager написан на Python 3 за несколько вечеров и весь код его пока находится в одном файле. Тестироваля на Arch Linux. По идее легко запустится на других GNU/Linux системах. С Windows думаю будут проблемы хотя бы из-за вызова самого INSTEAD'а. Но думаю можно будет допилить при желании.

    Screenshot from 2015-01-07 01:15:00.png

    Screenshot from 2015-01-07 01:15:13.png

    Скачать: https://github.com/jhekasoft/instead-manager/archive/master.zip
    Исходный код: https://github.com/jhekasoft/instead-manager

    Настройка

    В системе должны быть установлены python3 и instead.
    В принципе настраивать ничего не надо, всё должно заработать сразу. Но в конфиге instead-manager-settings.json есть список репозиториев. Его можно изменить при желании. По умолчанию такой:

    {
        "repositories": [
            {"name": "official", "url": "http://instead-launcher.googlecode.com/svn/pool/game_list.xml"},
            {"name": "instead-games", "url": "http://instead-games.ru/xml.php"},
            {"name": "instead-games-sandbox", "url": "http://instead-games.ru/xml2.php"}
        ]
    }

    Помощь

    python3 instead-manager.py -h

    Установка игры

    1. Обновление репозиториев:

    python3 instead-manager.py -u

    2. Поиск игры:

    python3 instead-manager.py -s копия

    3. Установка и запуск игры

    python3 instead-manager.py -i backup -r

    После установки из instead-manager в следующий раз игру запустить пока нельзя. :-D Для меня это не критично. Я и из INSTEAD могу. Может допилю ещё. Возможно даже GUI потом прикручу. Пока остерегаюсь, что меня обвинят в велосипедостроении. Но я сделал полезную вещь для себя и делал это в кайф. :)

    Будет хорошо если кто-то затестит. А завтра хочу видосик запилить про instead-manager. :)

  2. epoxa

    Jan 2015 User since 2014

    Круто!
    А под windows и не надо. Вендузятники в командной строке не умеют :-)

  3. jhekasoft

    Jan 2015 Постоялец Мариуполь, Киев User since 2014

    epoxa Круто!
    А под windows и не надо. Вендузятники в командной строке не умеют :-)

    Да, но все-таки мне интересно чтобы заработало. И у меня все-таки есть задумка GUI прикрутить.

  4. v.v.b.

    Jan 2015 Постоялец Нижний Новгород User since 2014
    Edited 2 years ago by v.v.b.

    jheka крут! больше сказать нечего. буду пробовать
    а по автору поиск возможен?

  5. peter

    Jan 2015 Administrator Земля(Москва) User since 2014

    Требую gui и работу в win для виндузятников!

  6. drmgc

    Jan 2015 User since 2015

    peter Требую gui и работу в win для виндузятников!

    гуй можно на python-gi (тобишь GTK 3), но есть сомнения по поводу её пригодности для win. Может этот менеджер подцепить к самому instead-у?

  7. peter

    Jan 2015 Administrator Земля(Москва) User since 2014

    К инстеду уже больше ничего не надо цеплять, наоборот, хорошо бы поотцеплять. :)

  8. jhekasoft

    Jan 2015 Постоялец Мариуполь, Киев User since 2014

    Я сначала консольный вариант допилю. Там нет даже нормальной обработки ошибок сейчас.

  9. jmaks

    Jan 2015 Administrator Галилей (Ио) User since 2014

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

  10. jhekasoft

    Jan 2015 Постоялец Мариуполь, Киев User since 2014

    jmaks пыщщ пыщщ, возможно я скажу очевидность, но очередной instead-launcher, который, как утверждает вероятность, будет так же брошен, только верхом на питоне...

    Ага. Я помню даже на Java писали. :) Но код гораздо проще, чем у instead-launcher. А брошен или нет покажет время. :-D

  11. v.v.b.

    Jan 2015 Постоялец Нижний Новгород User since 2014

    питон вообще жёсткий язык. в плане понимания. без подготовки "с листа" программа не читаема и не понимаема. потому тяжело будет кому-то подхватить знамя если оно выпадет. придётся жеке поддерживать свой продукт постоянно и всегда ;)

  12. skiminok1986

    Jan 2015 Постоялец Курган User since 2014

    Пайтон очень легко осваивается и, думаю, будет не сложно поддерживать проект, если Жека его забросит. Правда, надо смотреть что там с GUI.

  13. jhekasoft

    Jan 2015 Постоялец Мариуполь, Киев User since 2014

    v.v.b. питон вообще жёсткий язык. в плане понимания. без подготовки "с листа" программа не читаема и не понимаема. потому тяжело будет кому-то подхватить знамя если оно выпадет. придётся жеке поддерживать свой продукт постоянно и всегда ;)

    А я не согласен на счёт понимания. Он простой. Да, там есть синтаксический сахар. Но его не так много как в том же Ruby. И кода писать на Python приходится гораздо меньше, чем на многих других языках.

    В любом случае instead-manager ни на что не претендует. :) Я сделал то, что было нужно мне, решил поделиться. Сейчас ещё запуск игр добавлю, а потом рефакторинг по плану. Сделаю всё более абстрактным чтобы можно было отдельные вещи для Windows заменить.

  14. jhekasoft

    Jan 2015 Постоялец Мариуполь, Киев User since 2014

    v.v.b. jheka крут! больше сказать нечего. буду пробовать
    а по автору поиск возможен?

    По автору нет. В XML-ках нет инфы об авторе. Если авторы будут добавлены в XML, тогда можно сделать будет. Думаю добавить ключи поиска по версии и по репозиторию.

  15. jhekasoft

    Jan 2015 Постоялец Мариуполь, Киев User since 2014

    Презентацию запилил:

    .

  16. jhekasoft

    Jan 2015 Постоялец Мариуполь, Киев User since 2014
    Edited 2 years ago by jhekasoft

    Добавил запуск игр.
    В конфиге новая опция:

    "games_path": "~/.instead/games/"

    Список установленных игр в алфавитном порядке:

    python3 instead-manager.py -ll

    Запуск игры:

    python3 instead-manager.py -r backup

    Видит и запускает игры в idf-формате. А ланчер не умеет. :-D . Правда и игр в idf типа как нет.

    Но в списке установленных игр отображается мало инфы. Только имя папки/файла. Подробную метаинфу вытягивать пока мне как-то стрёмно. Получается нужно парсить main.lua игры или из idf вытаскивать. И это стрёмный момент, потому что мне нужно будет параллельно поддерживать код чтения метаинформации с возможными инстедовскими изменениями.

    Так и хочется чтобы у Инстеда была опция типа -getmeta gamename, которая бы выдавала инфу по игре. Ведь Инстед умеет получать метаинформацию. Но должна ли эта опция быть? И фич Пётр не хотел новых делать. Я не хочу перекладывать эту задачу на чьи-то другие плечи, просто не знаю как правильно поступить. Стоит ли парсинг метаинфы внедрять в instead-manager? Пока могу оставить как есть. Это сейчас не критично. Есть много чего другого, что нужно сделать.

  17. peter

    Jan 2015 Administrator Земля(Москва) User since 2014

    с одной стороны, вытягивает. с другой стороны - это тоже парсинг main.lua и как бы что в ланчере это делать, что в инстеде (тем более, что смысл тегов не будет меняться, а с точки зрения языка -- это вообще комментарии). инстед уже трещит по швам. короче, все же хотелось бы функции ланчера не переносить в сам инстед... Просто это по сути уже функция типа -- а покажи все игры в такой то дире, а покажи инфу. А потом захотим закачать, а потом удалить и тд. :) но кто знает...

  18. MaJoR KolZ

    Jan 2015 Постоялец Харьков User since 2014

    Спасибо! Классная и нужная вещь

  19. wolz

    Jan 2015 User since 2014

    epoxa Круто!
    А под windows и не надо. Вендузятники в командной строке не умеют :-)

    https://vk.com/page-10902022_46883376
    https://vk.com/page-10902022_48513222

  20. epoxa

    Jan 2015 User since 2014

    Круто! Но я имел ввиду среднестатистического пользователя :-)

  21. Newer ›

or Sign Up to reply!