реализовать фильтр в единицах с python

Это можно сделать без использования конфигурации системы:

Целевые архитектуры для репозиториев доступны в файле InRealease.

Это особенно полезно, потому что с некоторым хранилищем (! d2)

Пример с rabbitmq repo

deb https://packagecloud.io/rabbitmq/rabbitmq-server/debian/ stretch main

Сначала получите файл InRelease:

wget https://packagecloud.io/rabbitmq/rabbitmq-server/debian/dists/stretch/InRelease

] Как только вы найдете то, что хотите в этом файле (целевая арка), сделайте следующее:

wget -q -O- https://packagecloud.io/rabbitmq/rabbitmq-server/debian/dists/stretch/main/binary-amd64/Packages | grep -E 'Package|Version'
1
задан 24 January 2014 в 17:19

1 ответ

Даже если мы выходим из темы уважения к исходному вопросу, в области clementine есть строка запроса, сделанная как

SEARCH_SQL = '''SELECT title, filename, artist, album, albumartist, art_automatic, year, genre, art_manual, track, length
            FROM songs
            WHERE album LIKE '%%%s%%' OR artist LIKE '%%%s%%' OR title LIKE '%%%s%%'
            ORDER BY disc, track'''

(я добавил порядок дисков относительно исходной строки) и это называется с чем-то вроде

tracks = get_music_from_clementine(search, search, search))

, где поиск - это поисковый запрос. Теперь я определил новую строку поиска

MY_SEARCH_SQL = '''SELECT title, filename, artist, album, albumartist, art_automatic, year, genre, art_manual, track, length
               FROM songs
               WHERE (year  >= %s AND year <= %s AND (album LIKE '%%%s%%' OR artist LIKE '%%%s%%' OR title LIKE '%%%s%%') )
               ORDER BY disc, track'''

, которую я вызываю с помощью

    tracks = get_music_from_clementine(MY_SEARCH_SQL % (str(start_year), str(end_year), search, search, search))

. С помощью этой строки поиска я получаю только те результаты, которые меня интересуют непосредственно из запроса к базе данных и объем определенно более быстрый, неслучайно, если что-то подобное можно сделать для жанра, поскольку в этом случае количество фильтров является переменным (вы можете выбрать более одного жанра в то время, а не только диапазон, например, для «десятилетия» «фильтр»

1
ответ дан 24 May 2018 в 12:39
  • 1
    хорошо вы могли бы сделать что-то вроде: """WHERE (year >= %s AND year <= %s AND """ +s*number_of_genres + """ AND (album LIKE '%%%s%%' OR artist LIKE '%%%s%%' OR title LIKE '%%%s%%') )""" с s=if number_of_genre == 1: 'genre=%s' else: 'genre=%s OR '*number_of_genres[:-3]. Synthax определенно не верна, но идея, стоящая за ней, должна работать. Несколько % также отсутствуют. Когда вы закончите, вы должны предложить слияние на панели запуска – wa4557 28 January 2014 в 18:13
  • 2
    Я нашел способ сделать это, я создаю часть, относящуюся к жанровому фильтру, и передаю ее как одну строку, которую нужно заменить в MY_SEARCH_SQL. – Antonio 29 January 2014 в 05:20
  • 3
    Можете ли вы показать, что ваш загрузчик доступен в любом месте? Мне просто интересно, что ты сделал ... – wa4557 31 January 2014 в 15:37
  • 4
    Вы можете найти его здесь code.launchpad.net/~antoniomariano/unity-scope-clementine/… , но я нажал только его часть. См. Строки 170-177 в файле src / unity_clementine_daemon.py для создания строки жанра, эта строка затем передается как третий аргумент в запрос базы данных, такой как MY_SEARCH_SQL = '' 'SELECT title, filename, artist, album, albumartist, art_automatic , год, жанр, art_manual, track, length FROM songs WHERE (year & gt; =% s AND year & lt; =% s AND% s (альбом LIKE '%%% s %%' OR artist LIKE '%%% s% % 'ИЛИ title LIKE' %%% s %% ')) ORDER BY disc, track' '' – Antonio 31 January 2014 в 16:12

Другие вопросы по тегам:

Похожие вопросы: