Committed by
GitHub
Merge pull request #7 from goesnow/goesnow
Goesnow
Showing
25 changed files
with
48 additions
and
339 deletions
1 | -node_modules | 1 | +**/node_modules/ |
2 | .env | 2 | .env |
3 | -.vscode | 3 | +.vscode/** |
4 | +**/.idea/ | ||
5 | + | ||
4 | crawler/chromedriver | 6 | crawler/chromedriver |
5 | crawler/chromedriver.exe | 7 | crawler/chromedriver.exe |
6 | -.idea | ||
7 | **/*.exe | 8 | **/*.exe |
8 | package-lock.json | 9 | package-lock.json |
9 | 10 | ||
10 | -app/build/*.map | 11 | +**/build/ |
11 | -app/build/*.js | ||
12 | -build | ||
13 | public | 12 | public |
14 | 13 | ||
15 | key.py | 14 | key.py | ... | ... |
.idea/check-your-instagram.iml
deleted
100644 → 0
1 | -<?xml version="1.0" encoding="UTF-8"?> | ||
2 | -<module type="JAVA_MODULE" version="4"> | ||
3 | - <component name="FacetManager"> | ||
4 | - <facet type="Python" name="Python"> | ||
5 | - <configuration sdkName="" /> | ||
6 | - </facet> | ||
7 | - </component> | ||
8 | - <component name="NewModuleRootManager" inherit-compiler-output="true"> | ||
9 | - <exclude-output /> | ||
10 | - <content url="file://$MODULE_DIR$"> | ||
11 | - <excludeFolder url="file://$MODULE_DIR$/venv" /> | ||
12 | - <excludeFolder url="file://$MODULE_DIR$/venv3" /> | ||
13 | - </content> | ||
14 | - <orderEntry type="jdk" jdkName="Python 3.7 (check-your-instagram)" jdkType="Python SDK" /> | ||
15 | - <orderEntry type="sourceFolder" forTests="false" /> | ||
16 | - </component> | ||
17 | -</module> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
.idea/deployment.xml
deleted
100644 → 0
1 | -<?xml version="1.0" encoding="UTF-8"?> | ||
2 | -<project version="4"> | ||
3 | - <component name="PublishConfigData" remoteFilesAllowedToDisappearOnAutoupload="false"> | ||
4 | - <serverData> | ||
5 | - <paths name="ubuntu@52.197.199.6:22"> | ||
6 | - <serverdata> | ||
7 | - <mappings> | ||
8 | - <mapping local="$PROJECT_DIR$" web="/" /> | ||
9 | - </mappings> | ||
10 | - </serverdata> | ||
11 | - </paths> | ||
12 | - <paths name="ubuntu@54.199.111.206:22"> | ||
13 | - <serverdata> | ||
14 | - <mappings> | ||
15 | - <mapping local="$PROJECT_DIR$" web="/" /> | ||
16 | - </mappings> | ||
17 | - </serverdata> | ||
18 | - </paths> | ||
19 | - <paths name="ubuntu@54.248.71.175:22"> | ||
20 | - <serverdata> | ||
21 | - <mappings> | ||
22 | - <mapping local="$PROJECT_DIR$" web="/" /> | ||
23 | - </mappings> | ||
24 | - </serverdata> | ||
25 | - </paths> | ||
26 | - </serverData> | ||
27 | - </component> | ||
28 | -</project> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -<component name="InspectionProjectProfileManager"> | ||
2 | - <profile version="1.0"> | ||
3 | - <option name="myName" value="Project Default" /> | ||
4 | - <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" /> | ||
5 | - <inspection_tool class="TsLint" enabled="true" level="WARNING" enabled_by_default="true" /> | ||
6 | - </profile> | ||
7 | -</component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
.idea/misc.xml
deleted
100644 → 0
1 | -# check your instagram! | 1 | +# Check your instagram! |
2 | 2 | ||
3 | -``` | 3 | +Lookup ID, and Compare! |
4 | + | ||
5 | +## Execute server | ||
6 | +```shell | ||
4 | python -m pipenv shell | 7 | python -m pipenv shell |
8 | +python server.py | ||
5 | ``` | 9 | ``` |
10 | + | ||
11 | +## Execute only frontend | ||
12 | + | ||
13 | +[link](https://github.com/1Seok2/check-your-instagram/tree/master/app) | ... | ... |
... | @@ -15,4 +15,9 @@ npm run build | ... | @@ -15,4 +15,9 @@ npm run build |
15 | npm run start | 15 | npm run start |
16 | ``` | 16 | ``` |
17 | 17 | ||
18 | -`npm run start`만 진행할 시 수정사항이 적용되지 않음 | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
18 | +`npm run start`만 진행할 시 수정사항이 적용되지 않음 | ||
19 | + | ||
20 | +### 최종 빌드 진행 | ||
21 | +```shell | ||
22 | +npm run predeploy | ||
23 | +``` | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
app/build/src/Bye.d.ts
deleted
100644 → 0
1 | -export declare const Bye: () => void; |
app/build/src/Bye.js
deleted
100644 → 0
app/build/src/Bye.js.map
deleted
100644 → 0
1 | -{"version":3,"file":"Bye.js","sourceRoot":"","sources":["../../src/Bye.ts"],"names":[],"mappings":";;;AAAO,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAAhC,QAAA,GAAG,OAA6B"} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/build/src/index.d.ts
deleted
100644 → 0
1 | -import './assets/style/App.css'; |
app/build/src/index.js
deleted
100644 → 0
1 | -"use strict"; | ||
2 | -Object.defineProperty(exports, "__esModule", { value: true }); | ||
3 | -const Bye_1 = require("./Bye"); | ||
4 | -require("./assets/style/App.css"); | ||
5 | -const hi = 'hello!?zz'; | ||
6 | -const hi1 = () => { | ||
7 | - console.log(hi); | ||
8 | - Bye_1.Bye(); | ||
9 | -}; | ||
10 | -hi1(); | ||
11 | -//# sourceMappingURL=index.js.map | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/build/src/index.js.map
deleted
100644 → 0
1 | -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAAA,+BAA0B;AAC1B,kCAAgC;AAEhC,MAAM,EAAE,GAAG,WAAW,CAAC;AAEvB,MAAM,GAAG,GAAG,GAAG,EAAE;IACf,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,SAAG,EAAE,CAAC;AACR,CAAC,CAAC;AAEF,GAAG,EAAE,CAAC"} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/build/src/ts/Bye.d.ts
deleted
100644 → 0
1 | -export declare const Bye: () => void; |
app/build/src/ts/Bye.js
deleted
100644 → 0
app/build/src/ts/Bye.js.map
deleted
100644 → 0
1 | -{"version":3,"file":"Bye.js","sourceRoot":"","sources":["../../../src/ts/Bye.ts"],"names":[],"mappings":";;;AAAO,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAAhC,QAAA,GAAG,OAA6B"} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
app/gulpfile.js
deleted
100644 → 0
1 | - | ||
2 | -const gulp = require('gulp'); | ||
3 | -const browserify = require('browserify'); | ||
4 | -const watchify = require('watchify'); | ||
5 | -const errorify = require('errorify'); | ||
6 | -const del = require('del'); | ||
7 | -const tsify = require('tsify'); | ||
8 | -const source = require('vinyl-source-stream'); | ||
9 | -const buffer = require('vinyl-buffer'); | ||
10 | -const runSequence = require('run-sequence'); | ||
11 | -const uglify = require('gulp-uglify'); | ||
12 | - | ||
13 | -gulp.task('clean', () => { | ||
14 | - return del('./built/**/*') | ||
15 | -}); | ||
16 | - | ||
17 | -gulp.task('prod', () => { | ||
18 | - browserify({ | ||
19 | - basedir: '.', | ||
20 | - debug: true, | ||
21 | - entries: ['src'], | ||
22 | - cache: {}, | ||
23 | - packageCache: {} | ||
24 | - }) | ||
25 | - .plugin(tsify) | ||
26 | - .bundle() | ||
27 | - .pipe(source('bundle.js')) | ||
28 | - .pipe(buffer()) | ||
29 | - .pipe(uglify()) | ||
30 | - .pipe(gulp.dest('built')); | ||
31 | -}); | ||
32 | - | ||
33 | -gulp.task('dev', () => { | ||
34 | - browserify({ | ||
35 | - basedir: '.', | ||
36 | - debug: true, | ||
37 | - entries: ['src'], | ||
38 | - cache: {}, | ||
39 | - packageCache: {} | ||
40 | - }) | ||
41 | - .plugin(tsify) | ||
42 | - .plugin(watchify) | ||
43 | - .plugin(errorify) | ||
44 | - .bundle() | ||
45 | - .pipe(source('bundle.js')) | ||
46 | - .pipe(gulp.dest('built')); | ||
47 | -}); | ||
48 | - | ||
49 | -gulp.task('default', (done) => { | ||
50 | - runSequence('clean', 'dev', () => { | ||
51 | - console.log('Watching...') | ||
52 | - gulp.watch(['src/**/*.ts'], | ||
53 | - ['dev']); | ||
54 | - }); | ||
55 | -}); | ||
56 | - | ||
57 | -gulp.task('package', (done) => { | ||
58 | - runSequence('clean', 'prod', () => { | ||
59 | - console.log('Watching...') | ||
60 | - gulp.watch(['src/**/*.ts'], | ||
61 | - ['prod']); | ||
62 | - }); | ||
63 | -}); |
app/package-lock.json
deleted
100644 → 0
This diff could not be displayed because it is too large.
... | @@ -19,13 +19,16 @@ | ... | @@ -19,13 +19,16 @@ |
19 | "posttest": "npm.cmd run lint", | 19 | "posttest": "npm.cmd run lint", |
20 | "compile": "tsc -w", | 20 | "compile": "tsc -w", |
21 | "build": "webpack --watch", | 21 | "build": "webpack --watch", |
22 | - "start": "webpack serve --open" | 22 | + "start": "webpack serve --open", |
23 | + "predeploy" : "webpack" | ||
23 | }, | 24 | }, |
24 | "devDependencies": { | 25 | "devDependencies": { |
25 | "@types/node": "^14.11.2", | 26 | "@types/node": "^14.11.2", |
27 | + "clean-webpack-plugin": "^3.0.0", | ||
26 | "css-loader": "^5.1.1", | 28 | "css-loader": "^5.1.1", |
27 | "file-loader": "^6.2.0", | 29 | "file-loader": "^6.2.0", |
28 | "gts": "^3.1.0", | 30 | "gts": "^3.1.0", |
31 | + "html-webpack-plugin": "^5.3.0", | ||
29 | "style-loader": "^2.0.0", | 32 | "style-loader": "^2.0.0", |
30 | "ts-loader": "^8.0.17", | 33 | "ts-loader": "^8.0.17", |
31 | "typescript": "^4.0.3", | 34 | "typescript": "^4.0.3", | ... | ... |
app/public/images/v4Logo.png
deleted
100644 → 0

11.1 KB
app/public/main.js
deleted
100644 → 0
1 | -/* | ||
2 | - * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). | ||
3 | - * This devtool is neither made for production nor for readable output files. | ||
4 | - * It uses "eval()" calls to create a separate source file in the browser devtools. | ||
5 | - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) | ||
6 | - * or disable the default devtool with "devtool: false". | ||
7 | - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). | ||
8 | - */ | ||
9 | -/******/ (() => { // webpackBootstrap | ||
10 | -/******/ "use strict"; | ||
11 | -/******/ var __webpack_modules__ = ({ | ||
12 | - | ||
13 | -/***/ "./node_modules/css-loader/dist/cjs.js!./src/assets/style/App.css": | ||
14 | -/*!************************************************************************!*\ | ||
15 | - !*** ./node_modules/css-loader/dist/cjs.js!./src/assets/style/App.css ***! | ||
16 | - \************************************************************************/ | ||
17 | -/***/ ((module, __webpack_exports__, __webpack_require__) => { | ||
18 | - | ||
19 | -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"body{\\r\\n background-color: beige;\\r\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack:///./src/assets/style/App.css?./node_modules/css-loader/dist/cjs.js"); | ||
20 | - | ||
21 | -/***/ }), | ||
22 | - | ||
23 | -/***/ "./node_modules/css-loader/dist/runtime/api.js": | ||
24 | -/*!*****************************************************!*\ | ||
25 | - !*** ./node_modules/css-loader/dist/runtime/api.js ***! | ||
26 | - \*****************************************************/ | ||
27 | -/***/ ((module) => { | ||
28 | - | ||
29 | -eval("\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\n//# sourceURL=webpack:///./node_modules/css-loader/dist/runtime/api.js?"); | ||
30 | - | ||
31 | -/***/ }), | ||
32 | - | ||
33 | -/***/ "./src/assets/image/v4Logo.png": | ||
34 | -/*!*************************************!*\ | ||
35 | - !*** ./src/assets/image/v4Logo.png ***! | ||
36 | - \*************************************/ | ||
37 | -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { | ||
38 | - | ||
39 | -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (__webpack_require__.p + \"images/v4Logo.png\");\n\n//# sourceURL=webpack:///./src/assets/image/v4Logo.png?"); | ||
40 | - | ||
41 | -/***/ }), | ||
42 | - | ||
43 | -/***/ "./src/assets/style/App.css": | ||
44 | -/*!**********************************!*\ | ||
45 | - !*** ./src/assets/style/App.css ***! | ||
46 | - \**********************************/ | ||
47 | -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { | ||
48 | - | ||
49 | -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_App_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../node_modules/css-loader/dist/cjs.js!./App.css */ \"./node_modules/css-loader/dist/cjs.js!./src/assets/style/App.css\");\n\n \n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_App_css__WEBPACK_IMPORTED_MODULE_1__.default, options);\n\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_App_css__WEBPACK_IMPORTED_MODULE_1__.default.locals || {});\n\n//# sourceURL=webpack:///./src/assets/style/App.css?"); | ||
50 | - | ||
51 | -/***/ }), | ||
52 | - | ||
53 | -/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": | ||
54 | -/*!****************************************************************************!*\ | ||
55 | - !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! | ||
56 | - \****************************************************************************/ | ||
57 | -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { | ||
58 | - | ||
59 | -eval("\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = true ? __webpack_require__.nc : 0;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};\n\n//# sourceURL=webpack:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js?"); | ||
60 | - | ||
61 | -/***/ }), | ||
62 | - | ||
63 | -/***/ "./src/Bye.ts": | ||
64 | -/*!********************!*\ | ||
65 | - !*** ./src/Bye.ts ***! | ||
66 | - \********************/ | ||
67 | -/***/ ((__unused_webpack_module, exports) => { | ||
68 | - | ||
69 | -eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.Bye = void 0;\r\nconst Bye = () => console.log('Bye!');\r\nexports.Bye = Bye;\r\n\n\n//# sourceURL=webpack:///./src/Bye.ts?"); | ||
70 | - | ||
71 | -/***/ }), | ||
72 | - | ||
73 | -/***/ "./src/index.ts": | ||
74 | -/*!**********************!*\ | ||
75 | - !*** ./src/index.ts ***! | ||
76 | - \**********************/ | ||
77 | -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { | ||
78 | - | ||
79 | -eval("\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nconst Bye_1 = __webpack_require__(/*! ./Bye */ \"./src/Bye.ts\");\r\n__webpack_require__(/*! ./assets/style/App.css */ \"./src/assets/style/App.css\");\r\nconst v4Logo_png_1 = __importDefault(__webpack_require__(/*! ./assets/image/v4Logo.png */ \"./src/assets/image/v4Logo.png\"));\r\nconst hi = 'hchoi won';\r\nconst hi1 = () => {\r\n console.log(hi);\r\n Bye_1.Bye();\r\n const tag = window.document.querySelector('#App');\r\n if (tag) {\r\n tag.innerHTML = `<img src=${v4Logo_png_1.default} alt=\"image\" />`;\r\n }\r\n};\r\nhi1();\r\n\n\n//# sourceURL=webpack:///./src/index.ts?"); | ||
80 | - | ||
81 | -/***/ }) | ||
82 | - | ||
83 | -/******/ }); | ||
84 | -/************************************************************************/ | ||
85 | -/******/ // The module cache | ||
86 | -/******/ var __webpack_module_cache__ = {}; | ||
87 | -/******/ | ||
88 | -/******/ // The require function | ||
89 | -/******/ function __webpack_require__(moduleId) { | ||
90 | -/******/ // Check if module is in cache | ||
91 | -/******/ if(__webpack_module_cache__[moduleId]) { | ||
92 | -/******/ return __webpack_module_cache__[moduleId].exports; | ||
93 | -/******/ } | ||
94 | -/******/ // Create a new module (and put it into the cache) | ||
95 | -/******/ var module = __webpack_module_cache__[moduleId] = { | ||
96 | -/******/ id: moduleId, | ||
97 | -/******/ // no module.loaded needed | ||
98 | -/******/ exports: {} | ||
99 | -/******/ }; | ||
100 | -/******/ | ||
101 | -/******/ // Execute the module function | ||
102 | -/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); | ||
103 | -/******/ | ||
104 | -/******/ // Return the exports of the module | ||
105 | -/******/ return module.exports; | ||
106 | -/******/ } | ||
107 | -/******/ | ||
108 | -/************************************************************************/ | ||
109 | -/******/ /* webpack/runtime/compat get default export */ | ||
110 | -/******/ (() => { | ||
111 | -/******/ // getDefaultExport function for compatibility with non-harmony modules | ||
112 | -/******/ __webpack_require__.n = (module) => { | ||
113 | -/******/ var getter = module && module.__esModule ? | ||
114 | -/******/ () => (module['default']) : | ||
115 | -/******/ () => (module); | ||
116 | -/******/ __webpack_require__.d(getter, { a: getter }); | ||
117 | -/******/ return getter; | ||
118 | -/******/ }; | ||
119 | -/******/ })(); | ||
120 | -/******/ | ||
121 | -/******/ /* webpack/runtime/define property getters */ | ||
122 | -/******/ (() => { | ||
123 | -/******/ // define getter functions for harmony exports | ||
124 | -/******/ __webpack_require__.d = (exports, definition) => { | ||
125 | -/******/ for(var key in definition) { | ||
126 | -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { | ||
127 | -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); | ||
128 | -/******/ } | ||
129 | -/******/ } | ||
130 | -/******/ }; | ||
131 | -/******/ })(); | ||
132 | -/******/ | ||
133 | -/******/ /* webpack/runtime/hasOwnProperty shorthand */ | ||
134 | -/******/ (() => { | ||
135 | -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) | ||
136 | -/******/ })(); | ||
137 | -/******/ | ||
138 | -/******/ /* webpack/runtime/make namespace object */ | ||
139 | -/******/ (() => { | ||
140 | -/******/ // define __esModule on exports | ||
141 | -/******/ __webpack_require__.r = (exports) => { | ||
142 | -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | ||
143 | -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | ||
144 | -/******/ } | ||
145 | -/******/ Object.defineProperty(exports, '__esModule', { value: true }); | ||
146 | -/******/ }; | ||
147 | -/******/ })(); | ||
148 | -/******/ | ||
149 | -/******/ /* webpack/runtime/publicPath */ | ||
150 | -/******/ (() => { | ||
151 | -/******/ __webpack_require__.p = "/app"; | ||
152 | -/******/ })(); | ||
153 | -/******/ | ||
154 | -/************************************************************************/ | ||
155 | -/******/ | ||
156 | -/******/ // startup | ||
157 | -/******/ // Load entry module and return exports | ||
158 | -/******/ // This entry module is referenced by other modules so it can't be inlined | ||
159 | -/******/ var __webpack_exports__ = __webpack_require__("./src/index.ts"); | ||
160 | -/******/ | ||
161 | -/******/ })() | ||
162 | -; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | -const path = require('path') | 1 | +const path = require('path'); |
2 | +const { CleanWebpackPlugin } = require('clean-webpack-plugin'); | ||
3 | +const HtmlWebpackPlugin = require('html-webpack-plugin') | ||
2 | 4 | ||
3 | module.exports = { | 5 | module.exports = { |
4 | mode : 'development', | 6 | mode : 'development', |
... | @@ -30,17 +32,23 @@ module.exports = { | ... | @@ -30,17 +32,23 @@ module.exports = { |
30 | extensions: [".tsx", ".ts", ".js"], | 32 | extensions: [".tsx", ".ts", ".js"], |
31 | }, | 33 | }, |
32 | output : { | 34 | output : { |
33 | - publicPath: '/app', | 35 | + publicPath: '/app/public', |
34 | path: path.resolve('./public'), | 36 | path: path.resolve('./public'), |
35 | filename: '[name].js', | 37 | filename: '[name].js', |
36 | }, | 38 | }, |
37 | devServer : { | 39 | devServer : { |
38 | port : 3000, | 40 | port : 3000, |
39 | hot: true, | 41 | hot: true, |
40 | - contentBase: __dirname, | 42 | + contentBase: __dirname + '/public/', |
41 | inline: true, | 43 | inline: true, |
42 | watchOptions: { | 44 | watchOptions: { |
43 | poll: true | 45 | poll: true |
44 | } | 46 | } |
45 | - } | 47 | + }, |
48 | + plugins : [ | ||
49 | + new CleanWebpackPlugin(), | ||
50 | + new HtmlWebpackPlugin({ | ||
51 | + template : './src/index.html' | ||
52 | + }) | ||
53 | + ] | ||
46 | } | 54 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
crawler/chromedriver.exe
deleted
100644 → 0
No preview for this file type
1 | import os | 1 | import os |
2 | from flask import Flask, render_template, request, jsonify, send_from_directory | 2 | from flask import Flask, render_template, request, jsonify, send_from_directory |
3 | - | ||
4 | from crawler.crawler_instagram import crawler_instagram | 3 | from crawler.crawler_instagram import crawler_instagram |
5 | 4 | ||
6 | app = Flask(__name__) | 5 | app = Flask(__name__) |
7 | 6 | ||
8 | - | ||
9 | @app.errorhandler(404) | 7 | @app.errorhandler(404) |
10 | def page_not_found(): | 8 | def page_not_found(): |
11 | return render_template('404.html') | 9 | return render_template('404.html') |
12 | 10 | ||
13 | 11 | ||
14 | -@app.route("/") | 12 | +def update(insta_id): |
15 | -def home(): | ||
16 | - # return render_template('index.html') | ||
17 | - return send_from_directory('./app','index.html') | ||
18 | - | ||
19 | - | ||
20 | -@app.route("/update", methods=["GET"]) | ||
21 | -def update(): | ||
22 | - insta_id = request.args.get('insta_id') | ||
23 | crawler_instagram(insta_id) | 13 | crawler_instagram(insta_id) |
24 | 14 | ||
25 | data = { | 15 | data = { |
... | @@ -27,9 +17,16 @@ def update(): | ... | @@ -27,9 +17,16 @@ def update(): |
27 | } | 17 | } |
28 | return jsonify(data) | 18 | return jsonify(data) |
29 | 19 | ||
30 | -@app.route("/hello", methods=["GET"]) | 20 | + |
31 | -def hello(): | 21 | +@app.route("/", defaults={"path": ""}) |
32 | - return "hello" | 22 | +@app.route("/<path:path>") |
23 | +def home(path): | ||
24 | + # return render_template('index.html') | ||
25 | + if path == 'update': | ||
26 | + insta_id = request.args.get('insta_id') | ||
27 | + update(insta_id) | ||
28 | + else : | ||
29 | + return send_from_directory('./app/public/', 'index.html') | ||
33 | 30 | ||
34 | 31 | ||
35 | if __name__ == "__main__": | 32 | if __name__ == "__main__": | ... | ... |
-
Please register or login to post a comment