Exemple #1
0
    def __init__(self, obj, keys, skeys=None, dtype=None, q=False):

        if len(obj.outlist["o"]) != 0:
            raise Exception("Do not specify last output ")
            return None

        if obj.name == "writelist":
            raise Exception("Do not suport writelist ")
            return None

        if isinstance(keys, str):
            newkeys = keys.split(",")
        elif isinstance(keys, list):
            newkeys = keys
        else:
            raise Exception("unsuport TYPE")

        dupobj = obj.modelcopy()

        from nysol.mcmd.submod.msortchk import Nysol_Msortchk as msortchk
        sortkeys = copy.deepcopy(newkeys)
        if skeys != None:
            if isinstance(keys, str):
                sortkeys.extend(skeys.split(","))
            elif isinstance(keys, list):
                sortkeys.extend(skeys)
            else:
                raise Exception("unsuport TYPE")

        runobj = msortchk({"k": sortkeys, "q": q}).addPre(dupobj)

        modlist, iolist, linklist, _ = runobj.makeRunNetwork(True)

        py_msg = False
        try:
            if get_ipython().__class__.__name__ == 'ZMQInteractiveShell':
                py_msg = True
        except:
            pass

        kgpymsg = os.environ.get('KG_UsingPySysMsg')
        if kgpymsg != None:
            py_msg = bool(int(kgpymsg))

        # kgshell stock
        self.shobj = n_core.init(runobj.getMsgFlg(), runobj.runlimit,
                                 ps.virtual_memory().total, py_msg)
        if self.shobj == None:
            raise Exception("can not init shell")
            return None

        self.csvin = n_core.runiter(self.shobj, modlist, linklist, newkeys)
        if self.csvin == None:
            n_core.cancel(self.shobj)
            raise Exception("can not run iter")
            return None

        self.fldname = n_core.fldname(self.csvin)
        self.dptn = n_core.fldtp(self.csvin, dtype)
Exemple #2
0
    def __nextCore(self):

        line = n_core.getBlkDict(self.csvin, self.dptn)
        if line:
            return line

        n_core.close(self.csvin)
        n_core.cancel(self.shobj)
        return
Exemple #3
0
    def __nextCore(self):
        if self.header:
            self.header = False
            return self.fldname

        line = n_core.getLineList(self.csvin, self.dptn)
        if line:
            return line

        n_core.close(self.csvin)
        n_core.cancel(self.shobj)
        return
Exemple #4
0
    def __nextCore(self):

        data = n_core.getLineDictWithInfo(self.csvin, self.dptn)

        if data:
            breakTop = self.breakPre
            self.breakPre = data[1]
            return data[0], breakTop, data[1]

        n_core.close(self.csvin)
        n_core.cancel(self.shobj)
        return
Exemple #5
0
	def convtype(self,dtype=None,header=False):
		try:
			x = itermod.LineListIter(self,dtype)
			while(True):
				v = next(x)
				if v==None:
					break
				yield v
			return 

		except GeneratorExit:
			n_core.close(x.csvin)
			n_core.cancel(x.shobj)
Exemple #6
0
	def fldname(self):
		dupobj = copy.deepcopy(self)

		# 不要 mod 除去 
		itobj = dupobj.redirect(dupobj.nowdir)


		xx = itermod.LineListIter(itobj)
		head = xx.fldname
		
		n_core.close(xx.csvin)
		n_core.cancel(xx.shobj)
		return head
Exemple #7
0
	def __getLineDictWithInfo(self,keys,skeys=None,dtype=None,q=False):

		try:
			x = itermod.LineDictIterWithInfo(self,keys,skeys,dtype,q)
			while(True):
				v = next(x)
				if v==None:
					break
				yield v
			return 

		except GeneratorExit:
			n_core.close(x.csvin)
			n_core.cancel(x.shobj)
Exemple #8
0
	def __iter__(self):

		try:
			x = itermod.LineListIter(self)
			while(True):
				v = next(x)
				if v==None:
					break
				yield v

			return 

		except GeneratorExit:
			n_core.close(x.csvin)
			n_core.cancel(x.shobj)
Exemple #9
0
    def __nextCore(self):

        if self.header:
            self.header = False
            return self.fldname, None, None

        data = n_core.getLineListWithInfo(self.csvin, self.dptn)
        if data:
            breakTop = self.breakPre
            self.breakPre = data[1]
            return data[0], breakTop, data[1]

        n_core.close(self.csvin)
        n_core.cancel(self.shobj)
        return
Exemple #10
0
	def __getBlockList(self,keys,skeys=None,dtype=None,q=False,header=False):

		try:

			x = itermod.BlkListIter(self,keys,skeys,dtype,q,header)
			while(True):
				v = next(x)
				if v==None:
					break
				yield v
			return 

		except GeneratorExit:

			n_core.close(x.csvin)
			n_core.cancel(x.shobj)