#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@Contact :   liuyuqi.gov@msn.cn
@Time    :   2023/03/08 20:18:13
@License :   Copyright © 2017-2022 liuyuqi. All Rights Reserved.
@Desc    :   批量生成域名(双拼,双单词,双单词拼接)

参考项目: https://git.yoqi.me/lyq/SearchDomain

'''

import csv

class GenerateDomain(object):
    
    def __init__(self, params: dict,):
        '''初始化列表'''
        self.initPinYin=[]
        self.params = params
        self.keyword= self.params['keyword'].split(',')
        # self.yuming=["com","cn","me","net"]
        self.yuming = self.params["domain"].split(',')

        self.composePinYin=[]
        self.composeDomain=[]

    def run(self):
        """ 批量生成域名, 保存到 domain.txt """
        with open(("data/a.csv"), "r", encoding="utf-8") as f:
            csv_data = csv.reader(f)
            for row in csv_data:
                for pinyin in row:
                    if(pinyin != ""):
                        self.initPinYin.append(pinyin)

            for i in self.initPinYin:
                for j in self.keyword:
                    if self.params["position"]=="prefix":
                        self.composePinYin.append(i+j)
                    else:
                        self.composePinYin.append(j+i)

            for i in self.composePinYin:
                for j in self.yuming:
                    self.composeDomain.append(i+"."+j)

            with open("domain.txt","w",encoding="utf-8") as file:
                for i in self.composeDomain:
                    file.write(i+"\n")