コード例 #1
0
 def get_pages(self):
     pages = []
     if self.config.manual_duplex:
         front_pages = sorted(file.name for file in Path('scans').glob(
             f'{self.config.name}_*_front.{self.config.scan_format}'))
         back_pages = sorted((file.name for file in Path('scans').glob(
             f'{self.config.name}_*_back.{self.config.scan_format}')),
                             reverse=True)
         if len(front_pages) != len(back_pages):
             raise AssertionError(
                 'Same number of front and back pages needed!')
         for i in range(len(front_pages)):
             pages.append(Page(front_pages[i], is_backside=False))
             pages.append(Page(back_pages[i], is_backside=True))
     else:
         for file in sorted(
                 Path('scans').glob(
                     f'{self.config.name}_*.{self.config.scan_format}')):
             is_backside = bool(
                 re.match(rf'.*_\d{{3}}[02468].{self.config.scan_format}',
                          file.name))
             pages.append(Page(file.name, is_backside=is_backside))
     if not pages:
         raise FileNotFoundError(
             'no scans found! Seems like scanimage produced no output? Check your setup / scanner.'
         )
     return pages
コード例 #2
0
    def get_page(self, url):
        chrome = PyChromeDevTools.ChromeInterface(host="localhost", port=9222)

        chrome.Page.enable()
        chrome.Page.navigate(url=url)
        chrome.wait_event("Page.loadEventFired", timeout=60)
        id = chrome.DOM.getDocument()['result']['root']['nodeId']
        return Page(
            url=url,
            html=chrome.DOM.getOuterHTML(nodeId=id)['result']['outerHTML'])
コード例 #3
0
    def __init__(self, no_of_pages):
        self.buffer_pool = []
        self.disk_manager = DiskManager(64)

        for i in range(no_of_pages):
            self.buffer_pool[i] = Page(i,
                                       64)  # Setting default page size to 64

        self.replacer = LRUReplacer(self)
        self.page_map = {}
        self.no_of_pages = no_of_pages
コード例 #4
0
import gi

gi.require_version('Gtk', '3.0')

from gi.repository import Gtk
from src.page import Page
from transliterator.gui.controller import on_start_clicked as on_transliterate_clicked
from lexical_analyzer.gui.controller import on_start_clicked as on_lex_analyzer_clicked
from syntax_analyzer.gui.controller import on_start_clicked as on_syn_analyzer_clicked

settings = Gtk.Settings.get_default()
settings.set_property("gtk-theme-name", "Raleigh")
# settings.set_property("gtk-application-prefer-dark-theme", True)  # if you want use dark theme, set second arg to True

window = Gtk.Window(title='Теория формальных граматик и автоматов',
                    resizable=False)
window.connect('delete-event', Gtk.main_quit)

notebook = Gtk.Notebook()
notebook.append_page(Page(on_transliterate_clicked),
                     Gtk.Label("Транслитератор"))
notebook.append_page(Page(on_lex_analyzer_clicked),
                     Gtk.Label("Лехический анализатор"))
notebook.append_page(Page(on_syn_analyzer_clicked),
                     Gtk.Label("Синтаксический анализатор"))

window.add(notebook)
window.show_all()
Gtk.main()
コード例 #5
0
ファイル: connector.py プロジェクト: frnzska/filepile
class confluence:
    def __init__(self, *, page_id):
        cred = utils.get_credentials('confluence')
        self.auth = (cred['user'], cred['password'])
        self.page_id = page_id
        self.base_url = f'https://{cred["domain"]}/wiki/rest/api/content/{page_id}'
        self.domain = cred["domain"]
        self.title = None
        self.page = None

    def __str__(self):
        return f'title: {self.title} \n' \
               f'page_id: {self.page_id}\n' \
               f'at {self.base_url} with no of attachments: ' \
               f'{len(self.page.attachments)}'

    def save(self, *, dest_folder):
        self.__set_page_title()
        self.page.title = self.format_title(self.title)
        self.download_attachments() \
            .download_page_content()
        self.page.save(dest_folder=dest_folder)
        return self

    def __set_page_title(self):
        self.title = requests.get(self.base_url,
                                  auth=self.auth).json()['title']
        self.page = Page(title=self.title)
        return self

    @staticmethod
    def format_title(title, delimiter='_'):
        return title.replace(' ', delimiter)

    def download_attachments(self):
        """
        Download all page attachments (list(namedtuple))
        :return: self
        """
        Attachment = namedtuple('Attachment', ['title', 'content'],
                                verbose=False)
        attachements = []
        download_info = requests.get(f'{self.base_url}/child/attachment',
                                     auth=self.auth).json()['results']
        for elem in download_info:
            title = elem['title']
            download_url = f'https://{self.domain}/wiki{elem["_links"]["download"]}'
            download_content = requests.get(download_url,
                                            auth=self.auth,
                                            stream=True).content
            attachements.append(
                Attachment(title=title, content=download_content))
        self.page.set_attachments(attachements)
        return self

    def download_page_content(self):
        """
        Download raw page source.
        :return: self
        """
        url = f'{self.base_url}/?expand=body.view'
        self.page.set_content(content=requests.get(url, auth=self.auth).json()
                              ['body']['view']['value'])
        return self
コード例 #6
0
ファイル: connector.py プロジェクト: frnzska/filepile
 def __set_page_title(self):
     self.title = requests.get(self.base_url,
                               auth=self.auth).json()['title']
     self.page = Page(title=self.title)
     return self
コード例 #7
0
from src.page import Page

page = Page('sample.png', 250)

page.analyze_notes()

page.analyze_sharp_flat_natural()

page.draw_sharp_flat_natural()
page.draw_notes()
page.save('hhh.png')
コード例 #8
0
    def get_page(self, url):
        html = requests.get(url).content

        return Page(url=url, html=html)
コード例 #9
0
from src.page import Page
import src.cms as cms

#editable contentfiles to cms
cms.editable = {"Name of content": "body.txt"}
cms.enable()
#clear page folder befor rerender

mypage = Page(
    opt={
        'url': '/asd',
        "template": "document.html",
        "contentFiles": {
            "body": 'body.txt'
        },
        "cssList": ['myStyle.css', 'myStyle2.css'],
        "jsList": ['first.js', 'second.js']
    })
コード例 #10
0
ファイル: test_page.py プロジェクト: sg2629/ECS165A-SkyBase
from src.page import Page

p = Page()
print(p.has_capacity())
p.write(255)
p.write(1024)
p.write(1023)
print(p.read(0))
print(p.read(1))
print(p.read(2))
コード例 #11
0
from src.page import Page
from pdf2image import convert_from_path
import os
import tempfile
import img2pdf

filename = 'target.pdf'
images = convert_from_path('./' + filename, dpi=500)
for i in range(0, len(images)):
    print('Start working on page ' + str(i + 1))
    images[i].save('./output/' + str(i) + '.jpg', 'JPEG')

    page = Page('./output/' + str(i) + '.jpg', 350)

    # page.analyze_notes()

    # page.analyze_sharp_flat_natural()

    page.draw_page()
    page.draw_lines()
    page.draw_bars()
    # page.draw_sharp_flat_natural()
    # page.draw_notes()

    page.save('./output/' + str(i) + '.jpg')

output = open("./output/output.pdf", "wb")
page_names = []
for filename in os.listdir('./output'):
    if filename.endswith(".jpg"):
        page_names.append('./output/' + filename)