+  HandyCache форум
|-+  Главная категория» Дополнения, плагины» Кнопка для Total Commander - Открыть файл в кэше браузером
Имя пользователя:
Пароль:
Страниц: [1]   Вниз
  Отправить эту тему    Печать  
Автор Тема: Кнопка для Total Commander - Открыть файл в кэше браузером  (Прочитано 3351 раз)
0 Пользователей и 1 Гость смотрят эту тему.
mirny
Пользователь
**

Репутация: +11/-1
Offline Offline

Сообщений: 84


« : 26 Октябрь 2009, 15:09:34 »

Вот чем я открываю файлы в кэше, когда смотрю кэш Total Commander'ом или проводником windows.
Скрипт принимает путь на диске, преобразует его в URL и выдает браузеру. Работает в виде кнопки на тулбаре и в виде ярлыка, закинутого в "Send to".

Строка для запуска - что-то вроде "C:\Python25\pythonw.exe D:\bin\CacheHandle.py"

параметры для кнопки в Total Commander'e - %P%N

ставим курсор на нужный файл, жмем кнопку

скрипт предполагает, что путь к кэшу на диске не содержит точек

Код:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
from os.path import isdir


def url(path):
    path = path.replace('\\','/')

    if isdir(path) and not path.endswith('/'):
        path += '/'

    chunks = path.split('/')

    for chunk in chunks:
        if chunk.find('.') > 0:
            chunks = chunks[chunks.index(chunk):]
            break

    url = 'http://' + '/'.join(chunks)\
                         .replace('!',':')\
                         .replace('^/','?')\
                         .replace('#^','?')\
                         .replace('#%','/')\
                         .replace('#i','|')\
                         .replace('#x','*')

    if url[-2] == '#':
        url = url[:-2]

    return url


def run(path):
    import webbrowser

    app = webbrowser.get('windows-default')
    app.open(url(path))


if __name__ == '__main__':
    run(sys.argv[1])
Сообщить модератору   Записан
Страниц: [1]   Вверх
  Отправить эту тему    Печать  

 
Перейти в: