chore: remove unused.
This commit is contained in:
parent
f089a04ef4
commit
d31855785d
@ -1,3 +1,5 @@
|
||||
# Stock
|
||||
|
||||
[![Made with Fresh](https://fresh.deno.dev/fresh-badge.svg)](https://fresh.deno.dev)
|
||||
|
||||
주식 데이터 수집 및 선별하는 파이썬 코드입니다.
|
||||
|
24
app.py
24
app.py
@ -1,24 +0,0 @@
|
||||
import flask
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser(description="Stock web server")
|
||||
parser.add_argument("--port", type=int, default=12001, help="port number")
|
||||
parser.add_argument("--host", type=str, default="0.0.0.0", help="host address")
|
||||
parser.add_argument("--debug", action="store_true", help="debug mode")
|
||||
|
||||
app = flask.Flask(__name__)
|
||||
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0
|
||||
|
||||
@app.route("/dist/<m>")
|
||||
def distServe(m:str):
|
||||
return flask.send_from_directory("dist", m)
|
||||
|
||||
@app.route("/")
|
||||
def index():
|
||||
import pages
|
||||
return flask.render_template("index.html", pages = pages.GenLists)
|
||||
|
||||
if __name__ == '__main__':
|
||||
args = parser.parse_args()
|
||||
app.run(host=args.host, port=args.port, debug=args.debug)
|
||||
|
@ -2,6 +2,7 @@
|
||||
"lock": false,
|
||||
"tasks": {
|
||||
"start": "deno run -A --watch=static/,routes/ dev.ts",
|
||||
"prod_start": "deno run -A main.ts",
|
||||
"update": "deno run -A -r https://fresh.deno.dev/update ."
|
||||
},
|
||||
"lint": {
|
||||
|
35
gen.py
35
gen.py
@ -5,7 +5,6 @@ import sqlite3
|
||||
from typing import Dict, List
|
||||
from render import *
|
||||
import db as database
|
||||
from jinja2 import Environment, PackageLoader, select_autoescape
|
||||
import pandas as pd
|
||||
import tqdm
|
||||
|
||||
@ -145,7 +144,6 @@ def collect(data: DataStore, collector: OutputCollector, corp: database.KRXCorp
|
||||
d5 = d(5)
|
||||
d20 = d(20)
|
||||
d25 = d(25)
|
||||
d30 = d(30)
|
||||
d45 = d(45)
|
||||
d60 = d(60)
|
||||
d120 = d(120)
|
||||
@ -248,8 +246,6 @@ def collect(data: DataStore, collector: OutputCollector, corp: database.KRXCorp
|
||||
#rsi_signal = macd.loc[::-1].ewm(span=7).mean().loc[::-1]
|
||||
|
||||
parser = argparse.ArgumentParser(description="주식 검색 정보를 출력합니다.")
|
||||
parser.add_argument("--format", "-f", choices=["json", "html"], default="html",
|
||||
help="출력 포맷을 지정합니다. 기본값은 html입니다.")
|
||||
parser.add_argument("--dir", "-d", default=".", help="출력할 폴더를 지정합니다.")
|
||||
parser.add_argument("--corp", "-c", help="주식 코드를 지정합니다. 지정하지 않으면 kosdaq과 kospi만 검색합니다.")
|
||||
parser.add_argument("--fullSearch", help="모든 주식을 검색합니다.", action='store_true')
|
||||
@ -268,10 +264,6 @@ if __name__ == "__main__":
|
||||
if args.corp:
|
||||
krx_corps = [corp for corp in krx_corps if corp.Code == args.corp]
|
||||
|
||||
env = Environment(
|
||||
loader=PackageLoader('render', 'templates'),
|
||||
autoescape=select_autoescape(['html', 'xml'])
|
||||
)
|
||||
collector = OutputCollector()
|
||||
prepareCollector(collector)
|
||||
|
||||
@ -281,25 +273,10 @@ if __name__ == "__main__":
|
||||
dataStore.clearCache()
|
||||
|
||||
for k,v in collector.data.items():
|
||||
if args.format == "json":
|
||||
data = json.dumps(v.toDict(), indent=4, ensure_ascii=False)
|
||||
if args.printStdout:
|
||||
print(k)
|
||||
print(data)
|
||||
else:
|
||||
with open(os.path.join(args.dir, k + ".json"), "w", encoding="UTF-8") as f:
|
||||
f.write(data)
|
||||
data = json.dumps(v.toDict(), ensure_ascii=False)
|
||||
if args.printStdout:
|
||||
print(k)
|
||||
print(data)
|
||||
else:
|
||||
template = env.get_template("Lists.html")
|
||||
|
||||
days = v.corpListByDate.keys()
|
||||
days = list(days)
|
||||
days.sort(reverse=True)
|
||||
days = days[:5]
|
||||
|
||||
html = template.render(collected=v, title=k, days=days, lastUpdate=datetime.date.today().isoformat())
|
||||
if args.printStdout:
|
||||
print(html)
|
||||
else:
|
||||
with open(os.path.join(args.dir, k + ".html"), "w", encoding="UTF-8") as f:
|
||||
f.write(html)
|
||||
with open(os.path.join(args.dir, k + ".json"), "w", encoding="UTF-8") as f:
|
||||
f.write(data)
|
@ -1,60 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Stock</title>
|
||||
<style>
|
||||
body{
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background: linear-gradient(to right, #2b2b2b, #3d1844);
|
||||
color: #fff;
|
||||
}
|
||||
.table_item:nth-child(2n){
|
||||
background: #a7a7a7;
|
||||
}
|
||||
.table_item:nth-child(2n+1){
|
||||
background: #fff;
|
||||
}
|
||||
.table_item:hover{
|
||||
background: #8d8d8d;
|
||||
}
|
||||
.container{
|
||||
display: grid;
|
||||
grid-template-rows: 24px auto;
|
||||
background: #f0f0f0;
|
||||
color: black;
|
||||
box-shadow: 0px 0px 5px 0px white;
|
||||
text-decoration: none;
|
||||
grid-template-columns: repeat({{ 5 }}, 1fr);
|
||||
}
|
||||
.container a:link, a:visited{
|
||||
text-decoration: none;
|
||||
color: black;
|
||||
}
|
||||
.data_header{
|
||||
border-bottom: 1px solid #a7a7a7;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin: auto; max-width: 750px;">
|
||||
<h1>{{title}} Stock List</h1>
|
||||
<h3>{{lastUpdate}}</h3>
|
||||
<section class="description">
|
||||
{{collected.description}}
|
||||
</section>
|
||||
<section class="container">
|
||||
{% for day in days|reverse %}
|
||||
<div class="data_header">{{ day }}</div>
|
||||
{% endfor %}
|
||||
{% for day in days|reverse %}
|
||||
{% set corplist = collected.corpListByDate[day] %}
|
||||
<div>{% for item in corplist %}
|
||||
<div class="table_item"><a href="https://stockplus.com/m/stocks/KOREA-A{{ item.Code }}">{{ item.Name }}({{item.Code}})</a></div>{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</section>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,40 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Stock</title>
|
||||
<style>
|
||||
body{
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background: linear-gradient(to right, #2b2b2b, #3d1844);
|
||||
color: #fff;
|
||||
}
|
||||
.container{
|
||||
display: grid;
|
||||
background: #f0f0f0;
|
||||
color: black;
|
||||
box-shadow: 0px 0px 5px 0px white;
|
||||
text-decoration: none;
|
||||
}
|
||||
.container a:link, a:visited{
|
||||
text-decoration: none;
|
||||
color: black;
|
||||
font-size: 40px;
|
||||
}
|
||||
.data_header{
|
||||
border-bottom: 1px solid #a7a7a7;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin: auto; max-width: 750px;">
|
||||
<h1>Main</h1>
|
||||
<div class="container">
|
||||
{% for p in pages %}
|
||||
<a href="/dist/{{p.name}}.html">{{p.name}}</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user