Commit 206f417e authored by 2017030228's avatar 2017030228

k-pop

parent e8e2a1bd
Pipeline #693 failed with stages
flask==2.1.1
requests==2.27.1
import random
import json
import requests
from flask import request, Flask
from flask import Flask, render_template, request
app = Flask(__name__)
url = "https://main-gpt2-large-jeong-hyun-su.endpoint.ainize.ai/gpt2-large/long"
......@@ -23,30 +22,66 @@ models = {
"gpt2-trump": "http://main-gpt2-trump-gmlee329.endpoint.ainize.ai/gpt2-trump/long"
}
@app.route("/gpt2", methods=["POST"])
def gpt2():
context = request.form['context']
model = request.form['model']
length = request.form['length']
url = models[model]
length = request.form['length']
if length == "short":
length = random.randrange(2, 6)
length = 32
else:
length = 20
data = {
"text": context,
"num_samples": 5,
"length": length
}
response = requests.post(url, data=data)
res = response.json()
return res
length = 64
test2021 = 'https://train-bfwduo1j45469v5ok3wc-gpt2-train-teachable-ainize.endpoint.ainize.ai/predictions/gpt-2-ko-small-finetune'
test = 'https://train-3nr65znaojjnwlcl4jx4-gpt2-train-teachable-ainize.endpoint.ainize.ai/predictions/gpt-2-ko-small-finetune'
r = requests.post(
test2021,
headers={
'Content-Type': 'application/json'
},
data=json.dumps({
'text': context,
'num_samples': 5,
'length': length
})
)
result = {'0': '', '1': '', '2': '', '3': '', '4': ''}
i = 0
for line in r.json():
num = str(i)
result[num] = line
i += 1
# print(line)
# print(i)
return result
# @app.route("/gpt2", methods=["POST"])
# def gpt2():
# context = request.form['context']
#
# model = request.form['model']
# length = request.form['length']
#
# url = models[model]
#
# if length == "short":
# length = random.randrange(2, 6)
# else:
# length = 20
#
# data = {
# "text": context,
# "num_samples": 5,
# "length": length
# }
#
# response = requests.post(url, data=data)
# res = response.json()
#
# print(res)
#
# return res
def main():
response = requests.post(url, data=data)
......@@ -60,126 +95,7 @@ def main():
@app.route('/')
def index():
return '''<html>
<head>
<!-- Bootstrap -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<script src="../static/index.js"></script>
<style>
.item:hover {
color: blue;
}
</style>
</head>
<body>
<div class="container">
<div class="jumbotron mt-3">
<h1>TabTab Mini</h1>
<p>Write your context!</p>
<!-- Model list -->
<select id="model" style="margin-bottom: 10px;">
<option value="gpt2-large">gpt2-large</option>
<option value="gpt2-cover-letter">CoverLetter</option>
<option value="gpt2-reddit">Reddit</option>
<option value="gpt2-story">Story</option>
<option value="gpt2-film">Film</option>
<option value="gpt2-ads">Ads</option>
</select>
<input type="radio" name="length" checked="checked" value="short">short</input>
<input type="radio" name="length" value="long">long</input>
<textarea id="context" style="width:70%; height:40%; display: block; margin-bottom: 10px;"></textarea>
<b>Result</b>
<div id="select_box">
<ul style="width:100%">
<li class="item" onclick="concat(this.innerHTML)"></li>
<li class="item" onclick="concat(this.innerHTML)"></li>
<li class="item" onclick="concat(this.innerHTML)"></li>
<li class="item" onclick="concat(this.innerHTML)"></li>
<li class="item" onclick="concat(this.innerHTML)"></li>
</ul>
</div>
<button id="btn_autocomplete" class="btn btn-primary" onclick="suggestion()">Auto Complete!</button>
</div>
</div>
</body>
</html>
<script>
// when click "Auto Complete!" button
function suggestion() {
var textarea = document.getElementById("context");
var context = textarea.value;
var models = document.getElementById("model");
var model = models.options[models.selectedIndex].value;
var lengths = document.getElementsByName("length");
var length = '';
if (lengths[0].checked){
length = lengths[0].value;
}
else{
length = lengths[1].value;
}
var formData = new FormData();
formData.append("context", context );
formData.append("model", model);
formData.append("length", length);
fetch(
"/gpt2",
{
method: "POST",
body:formData
}
)
.then(response => {
if (response.status == 200){
return response
}
else{
throw Error("Failed");
}
})
.then(response => response.json())
.then(response => {
var items = document.getElementsByClassName("item");
for (let index = 0; index < items.length; index++) {
items[index].innerHTML = response[index];
}
})
.catch(e => {
var item = document.getElementsByClassName("item")[0];
item.innerHTML=e;
})
}
// Concatenate text and selected suggestion
function concat(newText) {
var context = document.getElementById("context");
var text = context.value;
text += newText;
context.value = text;
clearSelect();
}
// Clear suggestion list
function clearSelect() {
var items = document.getElementsByClassName("item");
for (let index = 0; index < items.length; index++) {
items[index].innerHTML = "";
}
}
</script>'''
return render_template('index.html')
@app.route('/about')
......@@ -189,4 +105,6 @@ def about():
if __name__ == "__main__":
main()
app.run()
app.run(host='0.0.0.0', port=5000)
......@@ -15,21 +15,23 @@
<body>
<div class="container">
<div class="jumbotron mt-3">
<h1>TabTab Mini</h1>
<p>Write your context!</p>
<h1>한국인이 좋아하는 인기 음원 작사 도우미</h1>
<p>당신의 영감을 적어주세요!</p>
<h3>2021년 멜론 top100<a href="https://xn--o39an51b2re.com/melon/yearlycount/2021">(링크)</a> 가사 단어 출현 횟수 top 10 </h3>
<p>1위. 내(255회), 난(173회), I(150회)</p>
<p>2위. you(137회), 널(129회), 너를(113회)</p>
<p>3위. Oh(146회)</p>
<p>4위. like(86회) 5위. 또(69회) 다시(50회) 공동 6위(47회) Dun, 안, 봐 7위. in(46회) 8위. 보고(45회) 9위. 없는(44회) 10위. 왜(43회)</p>
<!-- Model list -->
<select id="model" style="margin-bottom: 10px;">
<option value="gpt2-large">gpt2-large</option>
<option value="gpt2-cover-letter">CoverLetter</option>
<option value="gpt2-reddit">Reddit</option>
<option value="gpt2-story">Story</option>
<option value="gpt2-film">Film</option>
<option value="gpt2-ads">Ads</option>
<option value="gpt2-large">2021년 멜론 인기차트</option>
<option value="gpt2-large">2020년, 2019년 : 준비중 ...</option>
</select>
<input type="radio" name="length" checked="checked" value="short">short</input>
<input type="radio" name="length" value="long">long</input>
<input type="radio" name="length" checked="checked" value="short">짧은 가사</input>
<input type="radio" name="length" value="long">긴 가사</input>
<textarea id="context" style="width:70%; height:40%; display: block; margin-bottom: 10px;"></textarea>
......@@ -43,8 +45,13 @@
<li class="item" onclick="concat(this.innerHTML)"></li>
</ul>
</div>
<button id="btn_autocomplete" class="btn btn-primary" onclick="suggestion()">Auto Complete!</button>
<button id="btn_autocomplete" class="btn btn-primary" onclick="suggestion()">인기곡 작사하기!</button>
<p>곧 2020년, 2019년 버전이 출시됩니다!</p>
<h3>피아노 반주를 들으며 가사에 맞는 멜로디를 떠올릴 수 있어요</h3>
<iframe width="560" height="315" src="https://www.youtube.com/embed/sOEvq3G7Rwo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
</div>
</body>
</html>
......
Copyright (c) 2017, Virgil Dupras
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of Hardcoded Software Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Metadata-Version: 2.1
Name: Send2Trash
Version: 1.8.0
Summary: Send file to trash natively under Mac OS X, Windows and Linux.
Home-page: https://github.com/arsenetar/send2trash
Author: Andrew Senetar
Author-email: arsenetar@voltaicideas.net
License: BSD License
Project-URL: Bug Reports, https://github.com/arsenetar/send2trash/issues
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Desktop Environment :: File Managers
Description-Content-Type: text/x-rst
License-File: LICENSE
Provides-Extra: nativelib
Requires-Dist: pyobjc-framework-Cocoa ; (sys_platform == "darwin") and extra == 'nativelib'
Requires-Dist: pywin32 ; (sys_platform == "win32") and extra == 'nativelib'
Provides-Extra: objc
Requires-Dist: pyobjc-framework-Cocoa ; (sys_platform == "darwin") and extra == 'objc'
Provides-Extra: win32
Requires-Dist: pywin32 ; (sys_platform == "win32") and extra == 'win32'
==================================================
Send2Trash -- Send files to trash on all platforms
==================================================
Send2Trash is a small package that sends files to the Trash (or Recycle Bin) *natively* and on
*all platforms*. On OS X, it uses native ``FSMoveObjectToTrashSync`` Cocoa calls or can use pyobjc
with NSFileManager. On Windows, it uses native ``IFileOperation`` call if on Vista or newer and
pywin32 is installed or falls back to ``SHFileOperation`` calls. On other platforms, if `PyGObject`_
and `GIO`_ are available, it will use this. Otherwise, it will fallback to its own implementation of
the `trash specifications from freedesktop.org`_.
``ctypes`` is used to access native libraries, so no compilation is necessary.
Send2Trash supports Python 2.7 and up (Python 3 is supported).
Status: Additional Help Welcome
-------------------------------
Additional help is welcome for supporting this package. Specifically help with the OSX and Linux
issues and fixes would be most appreciated.
Installation
------------
You can download it with pip:
python -m pip install -U send2trash
To install with pywin32 or pyobjc required specify the extra `nativeLib`:
python -m pip install -U send2trash[nativeLib]
or you can download the source from http://github.com/arsenetar/send2trash and install it with::
>>> python setup.py install
Usage
-----
>>> from send2trash import send2trash
>>> send2trash('some_file')
>>> send2trash(['some_file1', 'some_file2'])
On Freedesktop platforms (Linux, BSD, etc.), you may not be able to efficiently
trash some files. In these cases, an exception ``send2trash.TrashPermissionError``
is raised, so that the application can handle this case. This inherits from
``PermissionError`` (``OSError`` on Python 2). Specifically, this affects
files on a different device to the user's home directory, where the root of the
device does not have a ``.Trash`` directory, and we don't have permission to
create a ``.Trash-$UID`` directory.
For any other problem, ``OSError`` is raised.
.. _PyGObject: https://wiki.gnome.org/PyGObject
.. _GIO: https://developer.gnome.org/gio/
.. _trash specifications from freedesktop.org: http://freedesktop.org/wiki/Specifications/trash-spec/
Changes
=======
Version 1.8.0 -- 2021/08/08
---------------------------
* Add compatibility with pathlib paths (#49)
* Fix thread compatibility of modern windows implementation (#59)
* Fix handling of UNC names in legacy windows implementation (#57)
Version 1.7.1 -- 2021/06/21
---------------------------
* Release stable version with changes from last 3 releases
* Fix handling of UNC names (#57)
Version 1.7.0a1 -- 2021/05/14
-----------------------------
* Changed conditional for when to try to use pyobjc version (#51)
Version 1.7.0a0 -- 2021/04/20
-----------------------------
* Add console_script entry point (#50)
* Increased python CI versions (#52, #54)
* Fix minor issue in setup.py (#53)
* Fix issue with windows tests importing modules on non-windows (#55)
* Unit test cleanups, rewrites, and flake8 cleanups
* Windows: Fix legacy windows platform for multi-byte unicode and add tests
* macOS: Add alternative pyobjc version to potentially improve compatibility (#51)
Version 1.6.0b1 -- 2020/06/18
-----------------------------
* Add main method which allows calling via ``python -m send2trash somefile``
* Windows: Add support for using IFileOperation when pywin32 is present on Vista and newer
* Add support for passing multiple files at once in a list
* Windows: Batch multi-file calls to improve performance (#42)
* Windows: Fix issue with SHFileOperation failing silently when path is not found (#33)
Version 1.5.0 -- 2018/02/16
---------------------------
* More specific error when failing to create XDG fallback trash directory (#20)
* Windows: Workaround for long paths (#23)
Version 1.4.2 -- 2017/11/17
---------------------------
* Fix incompatibility with Python 3.6 on Windows. (#18)
Version 1.4.1 -- 2017/08/07
---------------------------
* Fix crash on Windows introduced in v1.4.0. Oops... (#14)
Version 1.4.0 -- 2017/08/07
---------------------------
* Use ``bytes`` instead of ``str`` for internal path handling in ``plat_other``. (#13)
Version 1.3.1 -- 2017/07/31
---------------------------
* Throw ``WindowsError`` instead of ``OSError`` in ``plat_win``. (#7)
* Fix ``TypeError`` on python 2 in ``plat_other``. (#12)
Version 1.3.0 -- 2013/07/19
---------------------------
* Added support for Gnome's GIO.
* Merged Python 3 and Python 2 versions in a single codebase.
Version 1.2.0 -- 2011/03/16
---------------------------
* Improved ``plat_other`` to follow freedesktop.org trash specification.
Version 1.1.0 -- 2010/10/18
---------------------------
* Converted compiled modules to ctypes so that cross-platform compilation isn't necessary anymore.
Version 1.0.2 -- 2010/07/10
---------------------------
* Fixed bugs with external volumes in plat_other.
Version 1.0.1 -- 2010/04/19
---------------------------
* Fixed memory leak in OS X module.
Version 1.0.0 -- 2010/04/07
---------------------------
* Initial Release
../../Scripts/send2trash.exe,sha256=NdyatQDxo1oiFiKkOsFBGSGiUMYUnn33FwckFhUv48I,106372
Send2Trash-1.8.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
Send2Trash-1.8.0.dist-info/LICENSE,sha256=z6tJWVyWuyslhU5OQzMF9nqOsJy4hcU0Ac7ZeE1f7t8,1504
Send2Trash-1.8.0.dist-info/METADATA,sha256=Stn_iD09oFgDogi4UeqFbCMvyzZ-Wf8pQ__wNAfwfpk,6787
Send2Trash-1.8.0.dist-info/RECORD,,
Send2Trash-1.8.0.dist-info/WHEEL,sha256=OqRkF0eY5GHssMorFjlbTIq072vpHpF60fIQA6lS9xA,92
Send2Trash-1.8.0.dist-info/entry_points.txt,sha256=9GA_82sM2y6HmhE0yKsg2ItGjBreHZBihrWh3EgWd4c,57
Send2Trash-1.8.0.dist-info/top_level.txt,sha256=zzknBLdmJWCrcVgRz2rcFNqih9a3y1MemuTJynvYyow,11
send2trash/IFileOperationProgressSink.py,sha256=6CObA-EY3HxEe37X4xaSZ1EFy06kNBicFbkYugcVuVA,2787
send2trash/__init__.py,sha256=0CEV4cMJ7DG4k4vpFKB93WCzDddOMHK1g0E2YcGVjO4,762
send2trash/__main__.py,sha256=tQDs4fVEbnBDaWD5STb21wshRFaIEcQGQEEu8DTIhQs,982
send2trash/__pycache__/IFileOperationProgressSink.cpython-38.pyc,,
send2trash/__pycache__/__init__.cpython-38.pyc,,
send2trash/__pycache__/__main__.cpython-38.pyc,,
send2trash/__pycache__/compat.cpython-38.pyc,,
send2trash/__pycache__/exceptions.cpython-38.pyc,,
send2trash/__pycache__/plat_gio.cpython-38.pyc,,
send2trash/__pycache__/plat_osx.cpython-38.pyc,,
send2trash/__pycache__/plat_osx_ctypes.cpython-38.pyc,,
send2trash/__pycache__/plat_osx_pyobjc.cpython-38.pyc,,
send2trash/__pycache__/plat_other.cpython-38.pyc,,
send2trash/__pycache__/plat_win.cpython-38.pyc,,
send2trash/__pycache__/plat_win_legacy.cpython-38.pyc,,
send2trash/__pycache__/plat_win_modern.cpython-38.pyc,,
send2trash/__pycache__/util.cpython-38.pyc,,
send2trash/compat.py,sha256=VfOp3Kqk7l_iBYe_Kg6yt1grGX0dDYCZ1oLJsuxbV68,622
send2trash/exceptions.py,sha256=uYmIGVlDkQpE16KOAVLV1EdaIdyaojTmO0tkeGjuvD0,1022
send2trash/plat_gio.py,sha256=6TqqZUg5GlAT7SZwSJ3SdKxDp8Nxz8Zasan-KZynmR4,907
send2trash/plat_osx.py,sha256=sGAYGybFgDVRV3_gFHQkf3J7H2pKl0i_r5J4g0w7EyU,821
send2trash/plat_osx_ctypes.py,sha256=WxePJ0tXA_w-mILHvyLH8sIL_mYBxLbruNGHLxR4nfI,1906
send2trash/plat_osx_pyobjc.py,sha256=5ov5D9suvkZMBLaOmzEjtC5-kh_hfgCjl3PhEw7Y4bg,1045
send2trash/plat_other.py,sha256=o88-4WY94o9TtVchMSLiI7v9aU0yDnOACTV2RI1ReO4,6895
send2trash/plat_win.py,sha256=qvmfkGuIK38RZvUYQdtpq13-DWdvt6USRIupcOeWfPI,781
send2trash/plat_win_legacy.py,sha256=nWK76W5IWCq1duFRHttWAGTP-AjA695Vcd-XckS4Hbo,5183
send2trash/plat_win_modern.py,sha256=4njc5TMdCI2lCwZhFsPccp6xfFmruP8iUqhdp1-gHL0,2801
send2trash/util.py,sha256=OrpIY7Zp9A4gahEF4Lixb57w7nUXrEX67XaVye07qP8,546
Wheel-Version: 1.0
Generator: bdist_wheel (0.36.2)
Root-Is-Purelib: true
Tag: py3-none-any
[console_scripts]
send2trash = send2trash.__main__:main
-----------------------------
dill: serialize all of python
-----------------------------
About Dill
==========
``dill`` extends python's ``pickle`` module for serializing and de-serializing
python objects to the majority of the built-in python types. Serialization
is the process of converting an object to a byte stream, and the inverse
of which is converting a byte stream back to a python object hierarchy.
``dill`` provides the user the same interface as the ``pickle`` module, and
also includes some additional features. In addition to pickling python
objects, ``dill`` provides the ability to save the state of an interpreter
session in a single command. Hence, it would be feasable to save an
interpreter session, close the interpreter, ship the pickled file to
another computer, open a new interpreter, unpickle the session and
thus continue from the 'saved' state of the original interpreter
session.
``dill`` can be used to store python objects to a file, but the primary
usage is to send python objects across the network as a byte stream.
``dill`` is quite flexible, and allows arbitrary user defined classes
and functions to be serialized. Thus ``dill`` is not intended to be
secure against erroneously or maliciously constructed data. It is
left to the user to decide whether the data they unpickle is from
a trustworthy source.
``dill`` is part of ``pathos``, a python framework for heterogeneous computing.
``dill`` is in active development, so any user feedback, bug reports, comments,
or suggestions are highly appreciated. A list of issues is located at https://github.com/uqfoundation/dill/issues, with a legacy list maintained at https://uqfoundation.github.io/project/pathos/query.
Major Features
==============
``dill`` can pickle the following standard types:
- none, type, bool, int, long, float, complex, str, unicode,
- tuple, list, dict, file, buffer, builtin,
- both old and new style classes,
- instances of old and new style classes,
- set, frozenset, array, functions, exceptions
``dill`` can also pickle more 'exotic' standard types:
- functions with yields, nested functions, lambdas,
- cell, method, unboundmethod, module, code, methodwrapper,
- dictproxy, methoddescriptor, getsetdescriptor, memberdescriptor,
- wrapperdescriptor, xrange, slice,
- notimplemented, ellipsis, quit
``dill`` cannot yet pickle these standard types:
- frame, generator, traceback
``dill`` also provides the capability to:
- save and load python interpreter sessions
- save and extract the source code from functions and classes
- interactively diagnose pickling errors
Current Release
===============
This documentation is for version ``dill-0.3.4``.
The latest released version of ``dill`` is available from:
https://pypi.org/project/dill
``dill`` is distributed under a 3-clause BSD license.
>>> import dill
>>> dill.license()
Development Version
===================
You can get the latest development version with all the shiny new features at:
https://github.com/uqfoundation
If you have a new contribution, please submit a pull request.
Installation
============
``dill`` is packaged to install from source, so you must
download the tarball, unzip, and run the installer::
[download]
$ tar -xvzf dill-0.3.4.tar.gz
$ cd dill-0.3.4
$ python setup py build
$ python setup py install
You will be warned of any missing dependencies and/or settings
after you run the "build" step above.
Alternately, ``dill`` can be installed with ``pip`` or ``easy_install``::
$ pip install dill
Requirements
============
``dill`` requires:
- ``python``, **version == 2.7** or **version >= 3.6**, or ``pypy``
Optional requirements:
- ``setuptools``, **version >= 0.6**
- ``pyreadline``, **version >= 1.7.1** (on windows)
- ``objgraph``, **version >= 1.7.2**
Basic Usage
===========
``dill`` is a drop-in replacement for ``pickle``. Existing code can be
updated to allow complete pickling using::
>>> import dill as pickle
or::
>>> from dill import dumps, loads