fish 8 months ago
parent
commit
8da8877ef5
5 changed files with 61 additions and 23 deletions
  1. 1 1
      docs/README.md
  2. 14 15
      main.py
  3. 0 7
      requirements.txt
  4. 35 0
      searchdomain/options.py
  5. 11 0
      test/args_test.py

+ 1 - 1
docs/README.md

@@ -6,7 +6,7 @@
 
 ### 批量生成域名
 
-根据数据(拼音,英文)等双拼组合,数据文件夹:data/a.csv, b.csv
+根据数据(拼音,英文)等双拼组合,数据文件夹: data/a.csv, b.csv
 
 
 

+ 14 - 15
main.py

@@ -6,30 +6,29 @@
 @Time    :   2023/03/08 17:39:34
 @License :   Copyright © 2017-2022 liuyuqi. All Rights Reserved.
 @Desc    :   enter point
+searchdomain generate --lang zh --keyword go --position prefix
+searchdomain search --
 '''
 
 from searchdomain import SearchDomain, GenerateDomain, GenerateEnDomain
+from searchdomain.options import parse_args
 import sys
-import argparse
-
-def parse_args():
-    parser = argparse.ArgumentParser(description='search domain')
-    parser.add_argument('--command', action='store_true', help='command: generate, search, generate_en', choices=['generate', 'search', 'generate_en'])
-    parser.add_argument('--export_all', action='store_true', help='export all domain')
-    return parser.parse_args()
 
 if __name__== "__main__":
     args = parse_args()
-
-    if args.command=="generate":
-        generateDomain = GenerateDomain() 
-        generateDomain.run()
-    elif args.command=="generate_en":
-        generateDomain = GenerateEnDomain() 
+    if args.get("command","")=="generate":
+        if args.get("lang","en"):
+            generateDomain = GenerateEnDomain() 
+        elif args.get("lang", "zh"):
+            generateDomain = GenerateDomain()
         generateDomain.run()
-    elif args.command=="search":
+    elif args.get("command","")=="search":
         serachdomain = SearchDomain(debug=True, export_all=False) 
         serachdomain.run()
+    elif args.get("command","")=="version":
+        # print(__verison__)
+        pass
     else:
-        print("please input command: generate, search, generate_en")
+        print("please input command: generate, search")
+        print(args.get('command',""))
         sys.exit(1)

+ 0 - 7
requirements.txt

@@ -1,8 +1 @@
 python-whois==0.8.0
-
-
-
-
-
-
-

+ 35 - 0
searchdomain/options.py

@@ -0,0 +1,35 @@
+#!/usr/bin/env python
+# -*- encoding: utf-8 -*-
+"""
+@Contact :   liuyuqi.gov@msn.cn
+@Time    :   2024/06/22
+@License :   Copyright © 2017-2022 liuyuqi. All Rights Reserved.
+@Desc    :   command line params or config from file
+"""
+
+import sys,os,re
+import argparse
+from collections import OrderedDict
+
+def parse_args():
+    parser = argparse.ArgumentParser(description='search domain')
+    parser.add_argument('command',  help='command: generate, search', choices=['generate','search', 'help','version'] , default='help')
+    parser.add_argument('--export_all', action='store_true', help='export all domain')
+    parser.add_argument('--lang', choices=['zh', 'en'], default='en',help='language')
+    parser.add_argument('--keyword', default='',help='input a keyword')
+    parser.add_argument('--positon', default='prefix',choices=['prefix', 'suffix'], help='choose generate str positon')
+    args = parser.parse_args()
+
+    # remove None
+    command_line_conf = OrderedDict(
+        {k: v for k, v in args.__dict__.items() if v is not None}
+    )
+    system_conf = user_conf = custom_conf = OrderedDict()
+    system_conf.update(command_line_conf)
+    return system_conf
+
+def _read_custom_conf(config_path: str) -> OrderedDict:
+    pass
+
+def _read_user_conf() -> OrderedDict:
+    pass

+ 11 - 0
test/args_test.py

@@ -0,0 +1,11 @@
+import argparse
+
+def parse_args():
+    parser = argparse.ArgumentParser(description='search domain')
+    parser.add_argument('command',  help='command: generate, search', choices=['generate','search'] , default='generate')
+    parser.add_argument('--export_all', action='store_true', help='export all domain')
+    return parser.parse_args()
+
+if __name__=='__main__':
+    args = parse_args()
+    print(args)