Перейти к содержимому


Фотография

Программа для визуального выделения просмотренных файлов


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 28

#1 vedrus

vedrus

    Пользователь

  • Пользователи
  • PipPip
  • 19 сообщений

Отправлено 28 February 2013 - 21:10

Я долго искал возможность выделения просмотренных файлов в DUNE, но эта функция не поддерживается firmware.

Тогда я написал программу на C++ которая отслеживает открытые по сети файлы на компьютере, где хранятся фильмы/сериалы.
Для этих файлов она создает dune_folder.txt с пометками в соответствующей директории.

Возможны разные варианты выделения. Я показываю звездочку * после названия каждого просмотренного файла.

Можно показывать время в течении которого просматривался файл и/или вычислять %% от общей длительности файла.
Делать разные иконки, выделять цветом названия просмотренных файлов (только в режиме icon_view) итп, но мне это было не нужно.

Как работает:

Можно было бы дописывать '*' к имени самого файла, но тогда будут проблемы, если этот файл раздается торрентом из того же места, например.
Оригинальный файл прячется опциями dune_folder.txt, а вместо него добавляется виртуальный с таким же названием, звездой и временем просмотра в деталях.
В деталях смог отобразить только одну короткую строчку информации, т.ч. больше ничего там не показывается.
При стандартной сортировке файл остается на том же месте. Если задана сортировка по времени по-убыванию (новые вначале), то такие записи оказываются внизу списка. _linenums:0'>Каждые 5-ть минут проверяет открытые по сети файлы от заданного пользователя или от всех. Если такой файл есть, создает или редактирует dune_folder.txt в соответствующей директории. С оригинальным файлом ничего не происходит. Все изменения только в dune_folder.txt Можно было бы дописывать '*' к имени самого файла, но тогда будут проблемы, если этот файл раздается торрентом из того же места, например. Оригинальный файл прячется опциями dune_folder.txt, а вместо него добавляется виртуальный с таким же названием, звездой и временем просмотра в деталях. В деталях смог отобразить только одну короткую строчку информации, т.ч. больше ничего там не показывается. При стандартной сортировке файл остается на том же месте. Если задана сортировка по времени по-убыванию (новые вначале), то такие записи оказываются внизу списка.
Для файлов хранимых на внутреннем HDD Дюны данное решение не подойдет. Так как программа работает только на компьютере.

Делал исключительно для своих нужд. Но, если будет интерес, могу до оформить и выложить для всех.

Есть одно НО. Она работает только под доступом администратора, это нужно для получения информации об открытых по сети файлах.
Никуда ничего не шлет :rolleyes:
Должна быть запущена, когда требуется отмечать просмотренные файлы. У меня работает всегда, занимает 2.5Mb в памяти.

UPDATE:
Прикрепил файл с программой: Прикрепленный файл  SeenFilesDUNE.zip   14.85К   149 Количество загрузок:

#2 Geo_log

Geo_log

    Комментатор

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • Gender:Male

Отправлено 01 March 2013 - 22:14

(Geo_log @ 1.3.2013, 10:34)
..для файлов, хранящихся на NAS-е.. .. конечно, и тогда всё равно будет возможность копировать целиком сезон на компьютер, и уже с него смотреть серии, но в этом случае проще после просмотра очередной серии удалять её с компа.

Удалять не получится, если файл раздается торент-клиентом.

- перенёс ответ сюда, так как в той теме это совсем off-топик (т.к. уже не имеет отношения к dune_folders). Я имел в виду, что если если файл закачан NAS-овским торрентом, и там же хранится и раздаётся, и оттуда же просматривается Дюной, то Ваша программа не поможет. Эти файлы (серии) можно перекопировать (т.е. сделать их дубль) на компьютер, и оттуда смотреть Дюной, и Ваша программа тогда будет их помечать. Но в этом случае (в случае дублирования на компьютере сериала, хранящегося и раздающегося на NAS-е) проще посмотреть серию (с компьютера), и тут же её удалить (т.к. оригинал - на NAS-е).

#3 vedrus

vedrus

    Пользователь

  • Пользователи
  • PipPip
  • 19 сообщений

Отправлено 02 March 2013 - 00:19

Удалять не получится, если файл раздается торент-клиентом.- перенёс ответ сюда, так как в той теме это совсем off-топик (т.к. уже не имеет отношения к dune_folders). Я имел в виду, что если если файл закачан NAS-овским торрентом, и там же хранится и раздаётся, и оттуда же просматривается Дюной, то Ваша программа не поможет. Эти файлы (серии) можно перекопировать (т.е. сделать их дубль) на компьютер, и оттуда смотреть Дюной, и Ваша программа тогда будет их помечать. Но в этом случае (в случае дублирования на компьютере сериала, хранящегося и раздающегося на NAS-е) проще посмотреть серию (с компьютера), и тут же её удалить (т.к. оригинал - на NAS-е).

По мне так это не очень удобно, копировать на компьютер, чтобы смотреть, удалять каждую серию...

Можно сделать проще. Подключить на компьютере с windows NAS-овский диск виртуально, а Дюна будет обращаться к windows, как-будто файлы хранятся там.
Тогда программа будет работать и ничего копировать/удалять не надо. Правда будет повышенный трафик в сети.


Другой вариант, настраивать удаленные логи на NAS-е или писать программу под него. Что это, router с прошивкой типа OpenWRT и HDD?

#4 Geo_log

Geo_log

    Комментатор

  • Пользователи
  • PipPipPip
  • 80 сообщений
  • Gender:Male

Отправлено 02 March 2013 - 11:54

.. это не очень удобно, копировать на компьютер.. удалять каждую серию...

- конечно, прямо с NAS-а было бы удобнее.. а удалять очередную просмотренную серию очень удобно прямо с Дюны (кнопка Pop Up Menu -> Удалить).

Подключить на компьютере с windows NAS-овский диск виртуально, а Дюна будет обращаться к windows, как-будто файлы хранятся там.

- идея интересная, но у меня (на XP SP3) так не получилось. Для того, чтобы Дюна обращалась к Windows, в Windows нужно расшарить диск, т.е. тот диск, который подключен виртуально. Вот расшарить его и не получилось - в меню Проводника для такого диска нет пункта "Общий доступ и безопасность", какой есть для физических (а не виртуальных) дисков и папок. Впрочем, возможно, Ваша программа умеет проверять открытость файлов на виртуально подключенном диске.. То есть Дюна обращается к NAS-у, открывает на нём очередную серию на чтение, а программа на компьютере раз в 5 минут это отслеживает (хотя Дюна напрямую к Windows и не обращается за разрешением на открытие файла).

настраивать удаленные логи на NAS-е или писать программу под него. Что это, router с прошивкой типа OpenWRT и HDD

- обычно NAS (фирмы Synology, QNAP, NetGear и т.п.) - это маленький тихий (но дорогой) системный блочёк на Atom или ARM под управлением разновидности Linux. Как, впрочем, и роутер.
Идея анализировать логи - хороша, но вот не знаю как настраивать это логирование, и одинаков ли формат логов на разных Линуксах.

#5 vedrus

vedrus

    Пользователь

  • Пользователи
  • PipPip
  • 19 сообщений

Отправлено 02 March 2013 - 21:01

- идея интересная, но у меня (на XP SP3) так не получилось. Для того, чтобы Дюна обращалась к Windows, в Windows нужно расшарить диск, т.е. тот диск, который подключен виртуально. Вот расшарить его и не получилось - в меню Проводника для такого диска нет пункта "Общий доступ и безопасность", какой есть для физических (а не виртуальных) дисков и папок. Впрочем, возможно, Ваша программа умеет проверять открытость файлов на виртуально подключенном диске.. То есть Дюна обращается к NAS-у, открывает на нём очередную серию на чтение, а программа на компьютере раз в 5 минут это отслеживает (хотя Дюна напрямую к Windows и не обращается за разрешением на открытие файла).

Сделал возможность проверять открытые файлы на других серверах. Только могут быть сложности с правами доступа, мне их не задать.
Я создал тестовую програмку. Она ничего не делает, только показывает список открытых файлов по сети. Вышлю в ПМ.
Путь к файлам на другом сервере показывается локальный, т.ч. нужно будет сделать замену для корректной работы.

Можно попробовать еще такую схему:
1. Виртуально подключить диск NAS-а к компьютеру
2. Открыть доступ для DUNE к папке (другой) на локальном диске (нужен NTFS)
3. Сделать символьный линк (не hard link) с какой-нибудь папки виртуального диска в эту локальную папку

Символьный линк можно делать из FAR-а (Alt-F6), например.
Под Windows 7 у меня так сработало.

- обычно NAS (фирмы Synology, QNAP, NetGear и т.п.) - это маленький тихий (но дорогой) системный блочёк на Atom или ARM под управлением разновидности Linux. Как, впрочем, и роутер.
Идея анализировать логи - хороша, но вот не знаю как настраивать это логирование, и одинаков ли формат логов на разных Линуксах.

Знаю что под эти NAS-ы (юникс) можно написать скрипт, который бы делал все тоже самое или программу, но я вряд ли найду на это время :(

#6 milart77

milart77

    Новичок

  • Пользователи
  • Pip
  • 9 сообщений

Отправлено 04 March 2013 - 16:02

Очень и очень нужная функция!!! Единственная причина, из-за которой не поключаю DUNE TV 303D к телику. Пожалуйста vedrus дай эту програмку, и объясни что с ней делать. :(

#7 vedrus

vedrus

    Пользователь

  • Пользователи
  • PipPip
  • 19 сообщений

Отправлено 05 March 2013 - 03:10

Прикрепил программу к первому сообщению.

Есть файл ReadMe.txt с описанием.

Чтобы увидеть выделение файлов после просмотра, необходимо обновить список файлов в директории DUNE (Refresh) или выйти и снова зайти в директорию, т.к. Дюна читает dune_folder.txt только при открытии папки.
Можно поместить запуск программы в startup, чтобы она запускалась при каждом включении компьютера.

Пишите, если будут какие-то сложности или пожелания.

Если она будет кому-то полезна, просьба так же написать тут :rolleyes:

#8 vedrus

vedrus

    Пользователь

  • Пользователи
  • PipPip
  • 19 сообщений

Отправлено 05 March 2013 - 14:03

Возможно самый простой и универсальный способ, это написать свой плагин типа Дюновского file browser-а, который бы отслеживал запущенные из него же файлы и помечал их. Видел в одном плагине bash -вский скрипт. Если из плагинов есть доступ к системе Дюне, то вообще все что угодно можно сделать ;)

#9 milart77

milart77

    Новичок

  • Пользователи
  • Pip
  • 9 сообщений

Отправлено 05 March 2013 - 19:27

Спасибо vedrus... Скачал, глянул, запустил, прочитал, но че-то не пойму как она работает, как настраивать ее? и что за файлик dune_folder.txt ? у меня в компе такого не нашел. Помоги разобраться, я с дюной всего 10 дней как знаком. На факи не посылай, там все поверхносно... пожалуйста...

#10 pavel_tr

pavel_tr

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 05 March 2013 - 20:46

Спасибо за программу, отличная идея! Смотрю дюной только из шар на компе, так что это именно то, что нужно. Не хватает условия по шарам или по имени пользователя, который открыл файл. Имя пользователя лучше т.к. можно для дюны создать отдельную учётную запись и ходить по шарам из-под неё, сразу будет видно что открыто именно с дюны. Ну и настройку интервала опроса можно. Я бы до 3 минут уменьшил. В остальном вроде всё прекрасно!

Возможно самый простой и универсальный способ, это написать свой плагин типа Дюновского file browser-а, который бы отслеживал запущенные из него же файлы и помечал их


А если шара только на чтение? По-моему давно пора разработчикам реализовать эту функцию в прошивке и хранить метку в системном накопителе, ведь с сохранением позиции, на которой остановился просмотр, проблем нет. Не знаю с чем это связано, но на моей памяти фичреквест был уже несколько лет назад, а воз и ныне там. Наверное очень сложно реализовать

milart77, dune_folder.txt - служебный файл, в котором хранятся различные настройки папки для дюны, она автоматом его обрабатывает при открытии папки. Программа из этой темы создаёт данный файл, в котором прописано добавление "звёздочки" к последнему открытому по сети файлу. Ничего настраивать не надо, только запустить на компе, где расшарены папки и начать просмотр на дюне. Ну и после не забыть обновить папку в дюне, чтобы увидеть изменения

#11 milart77

milart77

    Новичок

  • Пользователи
  • Pip
  • 9 сообщений

Отправлено 05 March 2013 - 22:01

Спасибо, сегодня попробую...

#12 vedrus

vedrus

    Пользователь

  • Пользователи
  • PipPip
  • 19 сообщений

Отправлено 05 March 2013 - 22:57

Спасибо vedrus...
Скачал, глянул, запустил, прочитал, но че-то не пойму как она работает, как настраивать ее? и что за файлик dune_folder.txt ? у меня в компе такого не нашел.
Помоги разобраться, я с дюной всего 10 дней как знаком. На факи не посылай, там все поверхносно... пожалуйста...

Дюна должна брать файлы для просмотра с компьютера (под windows) из расшаренной папки, чтобы программа была полезна.
Она удобна при просмотре сериалов, когда в одной папке лежит весь сезон, например, и хочется видеть какие серии уже были просмотрены.

Если ее запустить на компьютере во время просмотра на Дюне какого-нибудь файла, программа покажет список открытых по сети файлов и создаст/изменит специальный управляющий файл dune_folder.txt в папке с просматриваемым файлом. В этом управляющем файле программа сделает визуальную пометку, что серия просмотрена.

Нужно обновить папку на Дюне, чтобы увидеть изменения. Кнопка [Pop Up Menu] на пульте Дюны и выбрать Refresh или просто выйти и еще раз зайти в папку, чтобы Дюна перечитала управляющий файл.

Через 5 минут после запуска, она переходит в скрытый режим (прячется ее окно) и продолжает проверять просматриваемые файлы каждые 5 минут.

#13 vedrus

vedrus

    Пользователь

  • Пользователи
  • PipPip
  • 19 сообщений

Отправлено 05 March 2013 - 23:10

Спасибо за программу, отличная идея! Смотрю дюной только из шар на компе, так что это именно то, что нужно. Не хватает условия по шарам или по имени пользователя, который открыл файл. Имя пользователя лучше т.к. можно для дюны создать отдельную учётную запись и ходить по шарам из-под неё, сразу будет видно что открыто именно с дюны. Ну и настройку интервала опроса можно. Я бы до 3 минут уменьшил. В остальном вроде всё прекрасно!

Имя пользователя задается параметром.

Например: SeenFilesDUNE.exe user_Duna

Можно сделать простой командный файл с расширением (.cmd) и записать туда такую команду запуска с параметром, например: SeenFilesDUNE.cmd и запускать его.

Время запроса могу сделать настраиваемым, если нужно. Я посчитал, что 5 минут оптимально. Если просто запустил файл и посмотрел несколько секунд, то он не пометится скорее всего. А если реально смотришь, то явно больше 5 минут ;)

А если шара только на чтение? По-моему давно пора разработчикам реализовать эту функцию в прошивке и хранить метку в системном накопителе, ведь с сохранением позиции, на которой остановился просмотр, проблем нет. Не знаю с чем это связано, но на моей памяти фичреквест был уже несколько лет назад, а воз и ныне там. Наверное очень сложно реализовать

Именно поэтому я и сделал программу, т.к. другого решения не нашел.

#14 pavel_tr

pavel_tr

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 05 March 2013 - 23:27

Имя пользователя задается параметром.
Например: SeenFilesDUNE.exe user_Duna

Пробовал так запускать, не работает. У меня при запуске без параметров имя пользователя вообще пустое, прикрепляю скриншот. Соответственно при запуске с указанием имени пользователя, просто пишет, что файлов открыто 0
Прикрепленный файл  001.png   50.93К   61 Количество загрузок:

Время запроса могу сделать настраиваемым, если нужно. Я посчитал, что 5 минут оптимально. Если просто запустил файл и посмотрел несколько секунд, то он не пометится скорее всего. А если реально смотришь, то явно больше 5 минут ;)

Программа проц совсем не грузит, поэтому и подумал, что можно увеличить интервал. В принципе это не критично, итак всё просто супер!

#15 vedrus

vedrus

    Пользователь

  • Пользователи
  • PipPip
  • 19 сообщений

Отправлено 06 March 2013 - 00:13

Пробовал так запускать, не работает. У меня при запуске без параметров имя пользователя вообще пустое, прикрепляю скриншот. Соответственно при запуске с указанием имени пользователя, просто пишет, что файлов открыто 0
Прикрепленный файл  001.png   50.93К   61 Количество загрузок:

В списке открытых файлов должны показываться имя пользователя (user name) и полный путь к файлу (path).
Но у Вас они отображаются пустыми, хотя программа находит нужные директории и dune_folder.txt

Команда NET FILE нормально показывает имя пользователя и название файла ? (тоже требуется доступ администратора)

Какая версия Windows? Похоже какая-то проблема с типами данных. Буду разбираться.

#16 pavel_tr

pavel_tr

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 06 March 2013 - 00:39

Разобрался. Была включена гостевая модель доступа, соответственно все подключения по сети происходили от пользователя ГОСТЬ, независимо от того, что указать. Поменял, перезагрузился, теперь имя пользователя есть и запуск с параметром тоже работает как надо. Думаю, стоит написать об этом в первом посте

#17 milart77

milart77

    Новичок

  • Пользователи
  • Pip
  • 9 сообщений

Отправлено 06 March 2013 - 14:38

Имя пользователя задается параметром.

Например: SeenFilesDUNE.exe user_Duna

Можно сделать простой командный файл с расширением (.cmd) и записать туда такую команду запуска с параметром, например: SeenFilesDUNE.cmd и запускать его.

Время запроса могу сделать настраиваемым, если нужно. Я посчитал, что 5 минут оптимально. Если просто запустил файл и посмотрел несколько секунд, то он не пометится скорее всего. А если реально смотришь, то явно больше 5 минут ;)


Именно поэтому я и сделал программу, т.к. другого решения не нашел.

Спасибо большое! Запустил прогу от имени админа, запустил мульт 15 мин. потом обновил папку, звездочка появилась, а справа указано время последнего доступа. Я очень благадарен, очень нужная функция.
С моей стороны наглость, но я все равно спрошу :rolleyes:
1. Возможно ли: остановить на одной дюне фильм, перейти в другую комнату, запустить тот же фильм на второй дюне и продолжить просмотр?
2. Возможен ли: выбор интервала запроса для SeenFilesDUNE?
3. Возможно ли: когда проставляется звездочка, в правой части, рядом с инфой о последнем доступе к файлу, добавить инфу о просмотренном времени? (Например серия идет 40мин., а я просмотрел 30, звездочка проставилась, а я не досмотрел эту серию.)
Извини конечно, но если это не сложно, сделай пожалуйста...

#18 vedrus

vedrus

    Пользователь

  • Пользователи
  • PipPip
  • 19 сообщений

Отправлено 07 March 2013 - 00:04

1. Возможно ли: остановить на одной дюне фильм, перейти в другую комнату, запустить тот же фильм на второй дюне и продолжить просмотр?
2. Возможен ли: выбор интервала запроса для SeenFilesDUNE?
3. Возможно ли: когда проставляется звездочка, в правой части, рядом с инфой о последнем доступе к файлу, добавить инфу о просмотренном времени? (Например серия идет 40мин., а я просмотрел 30, звездочка проставилась, а я не досмотрел эту серию.)

1. Никто не мешает так делать, только вторая Дюна начнет просмотр фильма с начала, т.к. последняя просмотренная позиция хранится на Дюне. Файл будет отмечен звездочкой.
2. Выбор интервала сделаю
3. Учет времени просмотра файла в ближайшее время делать не планирую. Возможно в следующей версии.

Можно сделать настраиваемый выбор интервала проверки и задать его чуть меньше времени одной серии, например 35 минут. Тогда серия будет помечаться, только если она просмотрена почти полностью.
Дюна продолжает показ с последней просмотренной позиции, нужно будет запускать не помеченные серии. Сейчас, в таком случае, нужно запускать последнюю помеченную.
Но могут быть проблемы при просмотре более коротких серий.

#19 milart77

milart77

    Новичок

  • Пользователи
  • Pip
  • 9 сообщений

Отправлено 07 March 2013 - 00:42

1. Никто не мешает так делать, только вторая Дюна начнет просмотр фильма с начала, т.к. последняя просмотренная позиция хранится на Дюне. Файл будет отмечен звездочкой.
2. Выбор интервала сделаю
3. Учет времени просмотра файла в ближайшее время делать не планирую. Возможно в следующей версии.

Можно сделать настраиваемый выбор интервала проверки и задать его чуть меньше времени одной серии, например 35 минут. Тогда серия будет помечаться, только если она просмотрена почти полностью.
Дюна продолжает показ с последней просмотренной позиции, нужно будет запускать не помеченные серии. Сейчас, в таком случае, нужно запускать последнюю помеченную.
Но могут быть проблемы при просмотре более коротких серий.

Спасибо, буду ждать обновлений программы...

#20 pavel_tr

pavel_tr

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 07 March 2013 - 09:23

Можно сделать настраиваемый выбор интервала проверки и задать его чуть меньше времени одной серии, например 35 минут. Тогда серия будет помечаться, только если она просмотрена почти полностью

Это если начало просмотра началось сразу после предыдущей проверки. Вполне возможно, что в 12:00 отработала проверка, а смотреть мы начали в 11:55. Кроме того, если продолжительность серии меньше интервала проверки, скажем, минут 25, то следующая проверка в 12:35 будет когда просмотр уже будет закончен и метка last seen для нашего файла будет совсем неактуальной.
Как раз напротив, я думаю, что стоит интервал проверки максимально сократить т.к. это позволит с наименьшей погрешностью определить когда осуществлялось последнее открытие файла.
А отслеживать был окончен просмотр серии полностью или нет одним таймером никак не удастся.