From 5a5587176139f1f0c0f19793c6c891db7ddf303b Mon Sep 17 00:00:00 2001 From: Ananke Date: Wed, 13 Jul 2022 20:58:07 +0200 Subject: [PATCH] Add files via upload --- wordart/classes.py | 95 ++++++++++++++++++++++++++++ wordart/wordart.py | 152 +++++---------------------------------------- 2 files changed, 111 insertions(+), 136 deletions(-) create mode 100644 wordart/classes.py diff --git a/wordart/classes.py b/wordart/classes.py new file mode 100644 index 0000000..73917fd --- /dev/null +++ b/wordart/classes.py @@ -0,0 +1,95 @@ +from html.parser import HTMLParser +import urllib.request + +# define class HTML-Parser +class MyHTMLParser(HTMLParser): + + def __init__(self): + super().__init__() + self.data = [] + self.capture = False + + def handle_starttag(self, tag, attrs): + if tag in ('p', 'h1'): + self.capture = True + + def handle_endtag(self, tag): + if tag in ('p', 'h1'): + self.capture = False + + def handle_data(self, data): + if self.capture: + self.data.append(data) + +# define object/class for analysis +class textforart: + + def __init__(self, language, sentences_lens, sentences, commas, polarity): + # Sprache + self.language = language + + # Satz + self.senctences = sentences + + # Sentence lengthes + self.sentences_lens = sentence_lens + + # Commas + self.commas = commas + + # Bewertung + self.polarity = polarity + + # Komplezität + self.complexity = '' + + + # Satzlänge + self.sentence_number = len(sentences) + self.min_sentence_length = min(sentences_lens) + self.max_sentence_length = max(sentences_lens) + self.mean_sentence_length = sum(sentences_lens) / len(sentences) + + # Kommas + self.number_commas = len(commas) + self.min_number_commas = min(commas) + self.max_number_commas = max(commas) + self.mean_number_commas = len(commas)/ len(sentences) + + # Bewertung + self.sum_sentences_polarity = sum(polarity) + self.min_sentences_polarity = min(polarity) + self.max_sentences_polarity = max(polarity) + self.mean_sentences_polarity = sum(polarity) / len(sentences) + + # Schätzer für Komplexität + self.max_complexity = 0 + self.min_complexity = 0 + self.mean_complexity = 0 + + # signatur Word -> mean purpose + self.signatur_word = '' + +def add_svg(svg): + clipboard = QGuiApplication.clipboard() + mime_data = QMimeData() + mime_data.setData('image/svg+xml', svg) + clipboard.setMimeData(mime_data) + Application.action('edit_paste').trigger() + +def create_svg(svg): + app = Krita.instance() + # Document open? + #if app.activeDocument(): + #print("aktive document") + #doc = app.activeDocument() + #else: + #print("create document") + #doc = app.createDocument(800, 600, 'SVGA Test', 'RGBA', 'U8', '', 120.0) + #app.activeWindow().addView(doc) + + doc = app.createDocument(800, 600, 'SVGA Test', 'RGBA', 'U8', '', 120.0) + app.activeWindow().addView(doc) + layer = doc.createVectorLayer('ColorSVG') + layer.setName('ColorSVG') + add_svg(svg) diff --git a/wordart/wordart.py b/wordart/wordart.py index 053ec0c..2081b0a 100644 --- a/wordart/wordart.py +++ b/wordart/wordart.py @@ -1,88 +1,18 @@ # importing libraries import sys import re -import sqlite3 + from krita import * from textblob import TextBlob from textblob_de import TextBlobDE -from html.parser import HTMLParser -import urllib.request -from PIL import ImageColor + from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * - -# define class HTML-Parser -class MyHTMLParser(HTMLParser): - - def __init__(self): - super().__init__() - self.data = [] - self.capture = False - - def handle_starttag(self, tag, attrs): - if tag in ('p', 'h1'): - self.capture = True - - def handle_endtag(self, tag): - if tag in ('p', 'h1'): - self.capture = False - - def handle_data(self, data): - if self.capture: - self.data.append(data) - - -# define object/class for analysis -class textforart: - - def __init__(self, language = 'en', sentences_lens = [], sentences = [], commas = [], polarity = []): - # Sprache - self.language = language - - # Satz - self.senctences = sentences - - # Sentence lengthes - self.sentences_lens = sentence_lens - - # Commas - self.commas = commas - - # Bewertung - self.polarity = polarity - - # Komplezität - self.complexity = '' - - - # Satzlänge - self.sentence_number = len(sentences) - self.min_sentence_length = min(sentences_lens) - self.max_sentence_length = max(sentences_lens) - self.mean_sentence_length = sum(sentences_lens) / len(sentences) - - # Kommas - self.number_commas = len(commas) - self.min_number_commas = min(commas) - self.max_number_commas = max(commas) - self.mean_number_commas = len(commas)/ len(sentences) - - # Bewertung - self.sum_sentences_polarity = sum(polarity) - self.min_sentences_polarity = min(polarity) - self.max_sentences_polarity = max(polarity) - self.mean_sentences_polarity = sum(polarity) / len(sentences) - - # Schätzer für Komplexität - self.max_complexity = 0 - self.min_complexity = 0 - self.mean_complexity = 0 - - # signatur Word -> mean purpose - self.signatur_word = '' +from .classes import * +from .svg_vorlagen import * class DockerLinkGrepper(DockWidget): @@ -90,58 +20,7 @@ class DockerLinkGrepper(DockWidget): global html global linkdata global content - - - # svg - def design_svg(strokecolor, fillcolor, width, height): - trans = str(((800 - height)/2) - 80) - print (trans) - #print(f'''stroke="{strokecolor}" fill="{fillcolor}"''') - svg = f''' - - - - - - - - - - '''.encode('utf-8') - return(svg) - - def add_svg(svg): - clipboard = QGuiApplication.clipboard() - mime_data = QMimeData() - mime_data.setData('image/svg+xml', svg) - clipboard.setMimeData(mime_data) - Application.action('edit_paste').trigger() - - def create_svg(svg): - app = Krita.instance() - # Document open? - #if app.activeDocument(): - #print("aktive document") - #doc = app.activeDocument() - #else: - #print("create document") - #doc = app.createDocument(800, 600, 'SVGA Test', 'RGBA', 'U8', '', 120.0) - #app.activeWindow().addView(doc) - - doc = app.createDocument(800, 600, 'SVGA Test', 'RGBA', 'U8', '', 120.0) - app.activeWindow().addView(doc) - layer = doc.createVectorLayer('ColorSVG') - layer.setName('ColorSVG') - add_svg(svg) - - + def __init__(self): super().__init__() self.setWindowTitle("Url to Art") @@ -232,27 +111,28 @@ class DockerLinkGrepper(DockWidget): polarity.append(sentence.sentiment.polarity) # init new textforart object - art = textforart(language, sentence_lens, blob.sentences, commas, polarity) - + #art = textforart(self, language, sentence_lens, blob.sentences, commas, polarity) + # make art out of object # width: 0 - 700 # height: 0 - 700 # fill color:#000000 # stroke color:#000000 - stroke = "rgb(" + str(round(125*(1/art.mean_number_commas))) + ", " + str(round(125 - art.min_sentences_polarity)) + ", " + str(round(125 - art.max_sentences_polarity)) + ")" - fill = "rgb(" + str(round(125*(1/art.mean_number_commas))) + ", " + str(round(125 - art.min_sentences_polarity)) + ", " + str(round(125 - art.max_sentences_polarity)) + ")" + #stroke = "rgb(" + str(round(125*(1/art.mean_number_commas))) + ", " + str(round(125 - art.min_sentences_polarity)) + ", " + str(round(125 - art.max_sentences_polarity)) + ")" + #fill = "rgb(" + str(round(125*(1/art.mean_number_commas))) + ", " + str(round(125 - art.min_sentences_polarity)) + ", " + str(round(125 - art.max_sentences_polarity)) + ")" #ImageColor.getcolor("#23a9dd", "RGB") - #stroke = "rgb(255, 255, 255)" - #stroke = "rgb(255, 254, 94.)" + stroke = "rgb(255, 255, 255)" + stroke = "rgb(255, 254, 94.)" #fill = "rgb(255, 255, 255)" # define with of svg - heigh = 700- (10000*art.mean_sentences_polarity) - width = 700*art.mean_number_commas + #heigh = 700- (10000*art.mean_sentences_polarity) + #width = 700*art.mean_number_commas + + #svg = design_svg(stroke, fill, 700, 700) + #create_svg(svg) - svg = design_svg(stroke, fill, 700, 700) - create_svg(svg) def canvasChanged(self, canvas): pass