Gutenberg使用2回目

問題が私のオペミスかCodeMirror BlocksまたはGutenbergのバグかアイソレートするためにPythonプログラムをアップすることにする。

CodeMirror Blocks(ver1.0)でキチンと表示されていた(PowerShellのプログラムが)Version Up(ver1.1)したとたんGutenberg内では表示されるのに「更新」ボタンをクリックしてログアウトして「野性の証明」をリドロウしたとたんプログラムの表示がSyntaxHighlightされずにプレーンテキストとして表示されてしまう。問題が私のオペミスかCodeMirror BlocksまたはGutenbergのバグかアイソレートするためにPythonプログラムをアップすることにする。

※ →ログインして編集操作に入った時点ではPython codeはSyntax Highlightしている。「下書き保存」をして、「プレビュー」ボタンして画面を表示させてもまだ正しくHighlight表示しているが「公開する」または「更新」ボタンをクリックして、ログアウトして当ブログを表示すると、code部分はplain text表示になってしまっている。ブラウザを変えてみても現象は同じ。「公開する前にチェックを常に表示する。」にチェックを入れて「公開」をクリックした段階で、そのまま「投稿を表示」をクリックしても正しくハイライト表示される。実際にログアウトするとプレーンテキストになってしまう。

# -*- coding: utf-8 -*-
print("例:明治 42 年")
S = input("和暦:")
 
syear = 0
print(S.split())
items = S.split()
year = int(items[1])
 
if items[0] == "明治":
    syear = 1867 + year
elif str(items[0]) == "大正":
    syear = 1911 + year
elif items[0] == "昭和":
    syear = 1925 + year
elif items[0] == "平成":
    syear = 1988 + year
elif items[0] == "令和":
    syear = 2018 + year
else:
    print(items[0],"Error")
 
print("西暦",str(syear),"年")

↑人気ブログランキングに参加しています。ポチっと1票を!

編集内(Gutenberg)では上記のように正しく表示される。

ログアウトするとプレーンテキストになってしまう。

Gutenberg移行後の最初の編集

今までクラシックエディターのみでWordPressの記事をアップしてきた。それが2022年には使えなくなるという情報である。それなら早くからのGutenbergへの移行が得策ではないかと考えた。

Headerの例(h2)

今までクラシックエディターのみでWordPressの記事をアップしてきた。
それが2022年には使えなくなるという情報である。
それなら早くからの移行が得策ではないかと考えた。
【Gutenberg疑問事項】

  1. ダッシュボードの機能操作性は変わらないのか?大丈夫!
  2. 編集画面上の:(アイコン)からメニューを開き「オプション」を選択

・文書パネル
・パーマリンク
・カテゴリー
・タグ
・アイキャッチ画像
・枠
・ディスカッション

  1. すべてにチェックを入れてよいか?(自動的にすべてON)!
  2. フォーマット(標準・アサイド・画像・・・)の処理は?ブロックで!
  3. カテゴリー→親子関係はあるか?ある!
  4. タグ(操作方法は同じか?)同じ!
  5. アイキャッチ画像(どこに、大きさは?)今までと一緒!
  6. ブログランキングのバナーの取り付け方法は同じか?ブロックにコピー!
  7. 抜粋は?ある!
  8. 投稿の表示方法(プレヴューか?)そう!
  9. ダッシュボードのメニューのplaceの仕方は同じか?同じ!
  10. WP SyntaxHighlightに代わる「CodeMirror Blocks」はどうか?OK!
  11. カスケードメニューがどうなるか?今までと同じ!
  12. 月別アーカイブの常時表示はできるか?すべて表示!

疑問点はまだまだある!。見切り発車をすべきか?すべき!

文字のサイズからヘッダーと段落の違いからです。バナーの貼り付け方も分かっていません。

Gutenbergにまだ正直迷っています。

散歩道に咲いた小さな花

#USBログオフ時メッセージプロンプト処理
#メッセージ文
$messagePath="C:\temp\usbmessage.txt"
#ログ出力パス
$usbLOG="C:\temp\test\usblog.txt"
 
#--------------------------------------
#メッセージボックス
#--------------------------------------
function MessageBox([string]$p_value = "")
{
    [Void][Windows.Forms.MessageBox]::Show($p_value,"お知らせ","OK", "Warning")
}
 
 
$crUSB = Get-WmiObject -Class win32_usbhub | ? { $_.name -eq "USB 大容量記憶装置" } | ? { $_.status -eq  "OK" }
 
 
if ($crUSB) {
    write-output "$env:computername,$env:username,$(get-date)" >> $usbLOG
 
    #Windowsフォームのロード
    [Void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms");
 
    MessageBox $([String]::Join("`r`n", (Get-Content $messagePath)))
    
}
#USBログオフ時メッセージプロンプト処理「PowerShell(.ps1)」 CodeMirror Blocks 使用(Gutenberg移行に伴ってWP SyntaxHighlighterは使用中止)
↑人気ブログランキングに参加しています。ポチっと1票を!

Python,HTML,CSSの連携

下記コーディングはQiitaの記事を参考にさせていただきました。
-Python(app.py)

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# app.py

from flask import Flask, redirect ,request,render_template

app = Flask(__name__)

@app.route("/check")
def check():
    return render_template('check.html')

@app.route('/',methods=['POST'])
def index():
    my_age = int(request.form["age"])
    my_name = request.form["name"]
    return render_template('index.html',age=my_age,name=my_name)

if __name__ == '__main__':
    app.run(debug=True)

-HTML(check.html)

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>年齢確認</title>
<!--    <link rel="stylesheet" type="text/css" href="{{url_for('static', filename='style.css')}}" />  -->
    <link rel="stylesheet" type="text/css" href="static/css/style.css" />
</head>
<body>

    <form action="/" method="post">
        <h1>年齢確認</h1>
        <input type="text" name="name" placeholder="名前" required/>
        <input type="number" name="age" placeholder="年齢" required/>
        <button>年齢確認</button>
    </form>

</body>
</html>

-HTML(index.html)

<!DOCTYPE html>  <!-- index.html -->
<html lang="ja">
    <head>
        <meta charset="UTF-8">
        <title>18禁のサイト</title>
<!--        <link rel="stylesheet" type="text/css" href="style.css" />  -->
	<link rel="stylesheet" type="text/css" href="static/css/style-04.css" />
        <!--[if lt IE 9]>
        <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
        <![endif]-->
    </head>
    <body>
    <h1>射幸心を煽りまくるホームページ</h1>
    {% if age >= 18 %}
    {{name}}さんは18歳以上ですね。
    {% else %}
    {{name}}さんみたいな方はこんなHP見ちゃいけません?
    {% endif %}

    </body>
</html>

-CSS(style.css)

@charset 'utf-8';
body	 {
	background: sandybrown;
	color: darkgreen;
	margin-left: 2m;
	margin-right: 2m;
}

-CSS(style-04.css)

@charset 'utf-8';
body	 {
	background: violet;
	color: darkgreen;
	margin-left: 2m;
	margin-right: 2m;
}

以上

↑人気ブログランキングに参加しています。ポチっと1票を!

四則演算(PyCharm)

四則演算

-PyCharmとChromeで実施

#!/usr/bin/python3
# -*- coding: utf-8 -*-
#demo09.py

from flask import Flask,request

app = Flask(__name__)

@app.route('/')
def index():
    a = int(request.args.get("a"))
    b = int(request.args.get("b"))
    op = request.args.get("op")
    
    if op == "a":
          c = str(a + b)
          return "demo09 Add answer = "+c
    elif op == "s":
          c = str(a - b)
          return "demo09 Subtract answer = "+c
    elif op == "m":
          c = str(a * b)
          return "demo09 Multiply answer = "+c
    elif op == "d":
          c = str(a // b)
          return "demo09 Divide answer = "+c
    elif op == "r":
          c = str(a % b)
          return "demo09 Reminder answer = "+c
    elif op == "p":
          c = str(a ** b)
          return "demo09 Power answer = "+c
    else:
          return "demo09 Illeagal operator"

if __name__ == '__main__':
    app.run(debug=True)
#http://127.0.0.1:5000/?op=p&a=3&b=2

以上

↑人気ブログランキングに参加しています。ポチっと1票を!

元号特定プログラム(Python版)

PowerShell_ISE使って西暦年月日を指定して、その日がどの元号に当たるかを特定するプログラムをPython言語にアレンジしたものである。

元号特定プログラム

前に当ブログで西暦、和暦相互変換のプログラムを載せた。今回はPowerShell_ISE使って西暦年月日を指定して、その日がどの元号に当たるかを特定するプログラムをPython言語にアレンジしたものである。Ad-Conversion 20190502をAd_Conversion(20190502)で関数を呼び出し結果を表示する。
PowerShell_ISEをPython
変数「$・・」を「・・」
「-(ハイフン)」を「_(アンダーバー)」
「Function」を「def」(関数の定義)
「ーlt」を「<」(比較演算子)→全角で代用
「elseif」を「elif」(予約語の相違)
「 + 」を「,」(カンマ)
関数のパラメーター
「数字」を「(数字)」にそれぞれ書き換えの必要がある。

元号特定プログラム

def Ad_Conversion(indate):

    ERA_MEIJI = "明治"
    ERA_TAISHO = "大正"
    ERA_SHOWA = "昭和"
    ERA_HEISEI = "平成"
    ERA_REIWA = "令和"

    DATE_MEIJI = 18680908
    DATE_TAISHO = 19120730
    DATE_SHOWA = 19261225
    DATE_HEISEI = 19890108
    DATE_REIWA = 20190501

    if (indate < DATE_MEIJI):

        print("明治以前の日付には対応していません。")

    elif (indate < DATE_TAISHO):

        print("元号は", ERA_MEIJI, "です。")

    elif (indate < DATE_SHOWA):

        print("元号は", ERA_TAISHO, "です。")

    elif (indate < DATE_HEISEI):

        print("元号は", ERA_SHOWA, "です。")

    elif (indate < DATE_REIWA):

        print("元号は", ERA_HEISEI, "です。")

    else:

        print("元号は", ERA_REIWA, "です。")

Ad_Conversion(19300101)  # ①
Ad_Conversion(18700101)
Ad_Conversion(20190101)
Ad_Conversion(20190502)
Ad_Conversion(20200101)
Ad_Conversion(19510817)

# 下記は同スクリプトを実行した結果です
# 元号は昭和です。 # ①
# 元号は明治です。
# 元号は平成です。
# 元号は令和です。
# 元号は令和です。
# 元号は昭和です。

↑人気ブログランキングに参加しています。ポチっと1票を!

PyCharm Version Up(19.2)

PyCharm Version Up(19.2)

PyCharmのバージョンアップを行った。
Ver18.3→Ver19.2である。
WSLで作ったFlaskもAtomで作ったPython Programも皆、PyCharm上で動く。
将来的にはSQLiteも動かす予定だ。

# -*- coding: utf-8 -*-
print("例:明治 42 年")
S = input("和暦:")

syear = 0
print(S.split())
items = S.split()
year = int(items[1])

if items[0] == "明治":
    syear = 1867 + year
elif str(items[0]) == "大正":
    syear = 1911 + year
elif items[0] == "昭和":
    syear = 1925 + year
elif items[0] == "平成":
    syear = 1988 + year
elif items[0] == "令和":
    syear = 2018 + year
else:
    print(items[0],"Error")

print("西暦",str(syear),"年")

これは和暦→西暦変換プログラムである。

↑人気ブログランキングに参加しています。ポチっと1票を!

demo32.pyのプログラム

demo32のプログラム

– 他の「demoxx.html」プログラムは省略します。
– 後日機会があったら当ブログに載せます。

#!/usr/bin/python3
# -*- coding: utf-8 -*-
#demo32.py sessin managed & username get
from flask import Flask, redirect, request, render_template, url_for, session

app = Flask(__name__)

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo07.html')

@app.route('/program', methods=['GET', 'POST'])
def program():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo03.html')

@app.route('/program1', methods=['GET', 'POST'])
def program1():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo04.html')

@app.route('/program2', methods=['GET', 'POST'])
def program2():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo05.html')

@app.route('/param/<parameter>')
def show_user_profile(parameter):
    if 'username' in session:
        html = render_template('demo07.html',name = str(parameter))        
        return html
    return 'You are not logged in. from param processing'

@app.route('/reset', methods=['GET', 'POST'])
def reset():
    session['username'] = 'monkey'
    return render_template('check31.html')

@app.route('/')
def func():
    if 'username' in session:
        html = render_template('demo07.html',name = str(session['username']))        
        return html
    return 'You are not logged in'

@app.route('/check', methods=['GET', 'POST'])
def check():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('func'))
    return render_template('check31.html')

@app.route('/',methods=['POST'])
def index():

    if (request.form['attr'] == 'need'):

        success = False
        name = request.form["username"]
        passwd = request.form["pass"]
        att1 = request.form['attr']
        my_message = "keyword処理は?"
    else:
        con1 = request.arg.get('_ControlID')
        pg1 = int(request.arg.get('_PageID'))
        act1 = request.arg.get('_ActionID')
        flg1 = request.arg.get('getFlg')
        html = render_template('demo07.html', con = con1, pg = str(pg1), act = act1, flg = flg1)        
        return html

    user_data = [{"id":"カリフラワー", "pass":"hanakyabetsu"},{"id":"西行法師", "pass":"masako"},{"id":"monkey", "pass":"kayochan"},{"id":"program1", "pass":"pass1"}]

    for i in range(0, 10):
        if user_data[i]["id"] == name:
            if user_data[i]["pass"] == passwd:
                success = True
                session['username'] = name
                return render_template('demo07.html',suc=success,name=name,pas=passwd,msg=my_message,att=att1)
            else:
                continue
        else:
            continue
    success = False
    return render_template('demo07.html',suc=success,name=name,pas=passwd,msg=my_message,att=att1)

@app.route('/logout')
def logout():
    session.pop('username', None)
    return redirect(url_for('func'))

app.secret_key = 'B0Qp89i/2xY F~XHH!jnVVLWX/,%QR'

if __name__ == '__main__':
    app.run(debug=True)

– 以上セッション処理プログラムでした。

↑人気ブログランキングに参加しています。ポチっと1票を!

WP SyntaxHighlighterを使ったPython Programの例

WP SyntaxHighlighterを使ったPython Programの例

WordPressでSyntaxHighlightができるようになった。
Python ProgramのClassの例である。
これでテキストをコピペできるようになったが、その代わりHydrogenの結果などを表現できなくなった。長短相半ばするといったところか。今後は場合によって両者を使い分けることとする。

class Fish:
    def __init__(self, name, build="ほね", eyelids=False):
        self.name = name
        self.build = build
        self.eyelids = eyelids

    def swim(self):
        print("こちらの魚は泳ぎます")

    def swim_back(self):
        print("こちらの魚は後ろ向きにも泳ぎます")

class Medaka(Fish):
    pass

#mach1
mach = 1225
topspeed = 40000
print(topspeed / mach)

no0 = Fish("魚1号(親クラス)")
print(no0.name)
print('骨格:',no0.build)
print('まぶた:',no0.eyelids)
no0.swim()
no0.swim_back()

no1 = Medaka("魚2号(子クラス)")
print(no1.name)
print('骨格:',no1.build)
print('まぶた:',no1.eyelids)
no1.swim()
no1.swim_back()

# below do not execute
class Kingyo(Fish):
    def __init__(self, name, build="ほね", eyelids=False):
        self.name = '金魚ちゃん' + name + 'だよ'
        self.build = build + ' かな'
        self.eyelids = eyelids

以下がこれまでの当ブログでの表現

Python Classの例(Atom)の場合

(写真はY.O.氏から借用)
↑人気ブログランキングに参加しています。ポチっと1票を!

ジェネレータその1

ジェネレータ関数は、関数を動かしながら、yield文を使って何度も結果を返すことができます。

ジェネレータその1

ジェネレータ関数は、関数を動かしながら、yield文を使って何度も結果を返すことができます。
アイキャッチ画像は
①素数を返すジェネレータ関数
②割り切れる数を見つける
③見つかったのでループを中断
④素数が見つかったのでyieldで返す
⑤数値を増加

⑥素数を14個洗い出し
⑦14個まで素数を表示

↑人気ブログランキングに参加しています。ポチっと1票を!