LINUX.ORG.RU

Открыть в firefox локальный html.gz файл

 ,


0

4

Есть много html.gz файлов, может ли firefox работать с ними прозрачно, как zcat или zless с соответствующими txt.gz ? Чем посоветуете смотреть html.gz? Распаковывать не хочу, это бессмысленно, сжатие одного файла достигает 100 раз.

Deleted

один хрен, даже если фокс это умеет, ему нужно будет распаковывать файло
ткчто если напишешь скрипт, обзовеш zfox, и будешь открывать подобное файло через него - будет практически то-же самое

$ zcat file.html.gz > /tmp/file.html && firefox --new-tab file:///tmp/file.html
примерно

anTaRes ★★★★ ()
Ответ на: комментарий от anTaRes

Я надеялся, что это штатная функциональность. Это ж надо скрипт и к нему .desktop файл городить. Надеюсь, получится назначить на расширение html.gz ассоциацию

Deleted ()

lynx умеет, только что проверил. Вообще, firefox теоретически должен уметь, поскольку в http есть сжатие gzip по стандарту.

Xenius ★★★★★ ()
Ответ на: комментарий от Xenius

ну, то что lynx умеет - это даже логично
но вот локальное файло в фокс отдается по протоколу file, и тот факт что «в http есть сжатие gzip по стандарту» ему, скорее всего, до одного места

как вариант можно ковырять mimeTypes.rdf в профиле, и пробовать научить фокс открывать такое файло
но, скорее всего, получится только указать что вместо скачивания его нужно открыть тем-же zfox'ом

чтоб отдать его по http, нужно скостылять веб сервер и отдать соотв. хедеры
возможно какого-то встроенного питоновского $ cd /to/html.gz/ && python -m SimpleHTTPServer 8080 будет достаточно, но вариант сомнительный

есть вариант перегнать все в .chm или подобный формат, тоже будет со сжатием + удобная навигация
но тут уже от содержимого самих файлов зависит, их количества и желания юзера заниматься их сортировкой

anTaRes ★★★★ ()
Ответ на: комментарий от anTaRes

но вариант сомнительный

Его можно с небольшими усилиями прокачать до нужного:

import http.server
import socketserver
import os
import gzip

PORT = 8000

class Handler(http.server.SimpleHTTPRequestHandler):
    def do_GET(self):
        path = self.translate_path(self.path)
        if path.endswith("html.gz"):
            with gzip.open(path, 'rb') as f:
                file_content = f.read()
                fs = os.fstat(f.fileno())

            self.send_response(200)
            self.send_header("Content-type", "text/html")
            self.send_header("Content-Length", str(len(file_content)))
            self.send_header("Last-Modified", self.date_time_string(fs.st_mtime))
            self.end_headers()
            self.wfile.write(file_content)

        else:
            super(Handler, self).do_GET()


socketserver.TCPServer.allow_reuse_address = True
httpd = socketserver.TCPServer(("", PORT), Handler)

print("serving at port", PORT)
httpd.serve_forever()

Это под Python 3. Для запросов, чей URL заканчивается на «html.gz», читаем файл, распаковываем, отсылаем результат так, будто это text/html.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

да, это я и имел в виду, только с оговоркой что в этом случае можно пробовать передавать без распаковки с «Content-Encoding: gzip»

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

anTaRes ★★★★ ()
Ответ на: комментарий от Xenius

lynx (и links) - работает. Это практически ожидаемое поведение (есть нюанс). elinks - нет. Нюанс в том, что lynx и links не поддерживают css даже в том минимуме, что мне бы хотелось: раскраска цветами. Жаль

Deleted ()
Ответ на: комментарий от anTaRes

может оказаться удобным, если у ТСа 100500 таких файлов в нескольких каталогах

Ну да, количество не столь грандиозно, но они есть, и будут еще.

Я просто хочу добавить возможность в систему открывать html.gz штатными средствами.

chm

Была такая мысль. Еще форматы MAFF и MHTML. Chm, вроде, подходит лучше, да и тулзы для генерации из html какие то есть. Если удасться тупо сконвертнуть все html в него - будет вариант победы, в общем то.

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1 )
Ответ на: комментарий от anonymous

Интересная штука, особенно повеселило wkhtmltopdf http://google.com google.pdf

Но в моем случае - это чесать гланды через ж. Ну, я не удивлен, столкнувшись с задачей. Во-первых, pdf разбит на страницы. Ни в самых страшных фантазиях эти цветные логи-отчеты не планировалось печатать на бумаге. Во-вторых, несмотря на font-family: monospace;, wkhtmltopdf упорно ставит шрифт пропорциональный. Ну и хер сним. Google.pdf это сила)

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1 )
Ответ на: комментарий от Deleted

Буду точнее, хоть и уже не относится к теме. В-третьих, pdf - жирный, результат где-то 80% от исходного размера. html.gz - 3%!

PS Chm, maff, mht, mhtml - полное говно. Никаких тулзов типа html2mht не существует, форматы кривые, проприетарные и никем не реализованные, кроме пары тухлых аддонов. Короче беда беда, штатного формата «сжатый html» не существует. Ну как так?

Lynx (и links), кстати, не отображает никак css .color . А это, практически, единственное что мне нужно из форматирования в отчетах.

Deleted ()
Ответ на: комментарий от Deleted

Чуда не случилось, в багзилле говорилось о поддержке в опере формата svgz. Html.gz не открылся

Deleted ()
Ответ на: комментарий от greenman

Хромиум умеет читать MHTML из коробки, ничего включать явным образом не требуется.

Zmicier ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.