示例#1
0
    def zone_leaf(self, word, wwn, fid = -1):
        """
        return the info for a specified leaf in the module
            brocade-fabric-switch  yang file 
        
        """
        
        
        try:
            
            s = get_tasks(word, self.ip, wwn, self.Auth , "zoning", fid )
            #print("fs_leaf_debug___"*10)
            #print(s.text)
            #print("fs_leaf_end_____"*10)
            doc = untangle.parse(s.text)
            #print("fs_leaf_debug___"*10)
            #print(doc)
            #print("fs_leaf_end_____"*10)
            done = "none"
            if "vf-id" == word:
                done = doc.Response.fabric_switch.vf_id.cdata
            if "wwn" == word:
                done = doc.Response.fabric_switch.name.cdata
            if "switch-user-friendly-name"  == word:
                done = doc.Response.fabric_switch.switch_user_friendly_name.cdata
            if "chassis-wwn"  == word:
                done = doc.Response.fabric_switch.chassis_wwn.cdata
            if "chassis-user-friendly-name" == word:
                done = doc.Response.fabric_switch.chassis_user_friendly_name.cdata              
            if "domain-id" == word:
                done = doc.Response.fabric_switch.domain_id.cdata
            if "principal" == word:
                done = doc.Response.fabric_switch.principal.cdata
            if "fcid" == word:
                done = doc.Response.fabric_switch.fcid.cdata
            if "ip-address" == word:
                done = doc.Response.fabric_switch.ip_address.cdata
            if "fcip-address"  == word:
                done = doc.Response.fabric_switch.fcip_address.cdata
            if "ipv6-address" == word:
                done = doc.Response.fabric_switch.ipv6_address.cdata
            if "firmware-version" == word:
                done = doc.Response.fabric_switch.firmware_version.cdata
            
            if done == "none":
                pass
                print("\n\nError in fs_leaf the command requested is not one of the\
                      \ncommand requested was  %s    \
                      \n\nthe list of valid commands is \ndomain-id\nchassis-wwn\
                      \nswitch-user-friendly-name\nprincipal\nfcid\nip-address\
                      \nfcip-address\nipv6-address\nfirmware-version\n\n"  %  word)    
 
        except AttributeError:
            print("Error during untangle - None was returned")
            done = "Untangle Error"
        except:
            print("Error in untagle" , sys.exc_info()[0] )
            print("fs_leaf")
            done = "Untangle Error"
        return(done)
示例#2
0
def tweet_uyd(api):
    if path.isfile(last_epfile):
        last_ep = datetime.strptime(open(last_epfile, 'r').read(), '%a, %d %b %Y %H:%M:%S +0000')
    else:
        last_ep = datetime.strptime('Fri, 15 Jul 2016 19:51:00 +0000', '%a, %d %b %Y %H:%M:%S +0000')

    #req = requests.get('http://uhhyeahdude.com/podcast/')
    #feed = xml.etree.ElementTree.parse(req.content).getroot()
    feed = untangle.parse('http://uhhyeahdude.com/podcast/')
    eps = feed.rss.channel.item
    new_eps = []
    for ep in eps:
        pubdate = datetime.strptime(ep.pubDate.cdata, '%a, %d %b %Y %H:%M:%S +0000')
        if pubdate > last_ep:
            new_eps.append(ep)
            last_ep = pubdate

    if new_eps == []:
        #print 'No new eps'
        return

    #pickle.dump(last_ep, open(last_epfile, 'w'))
    open(last_epfile, 'w').write(last_ep.strftime('%a, %d %b %Y %H:%M:%S +0000'))
    for ep in reversed(new_eps):
        desc = ep.description.cdata
        desc = desc.replace('\n', ' ').replace('\t', ' ')
        words = desc.split(' ')
        if set(['intro:', 'outro:', 'http://uhhyeahdude.com']).issubset(set(words)):
            intro = ' '.join(words[words.index('intro:')+1:words.index('outro:')-1])
            intro_url = youtube_search.search(intro)
            api.PostUpdate('{0} intro: {1} {2}'.format(ep.title.cdata, intro, intro_url))
            outro = ' '.join(words[words.index('outro:')+1:words.index('http://uhhyeahdude.com')])
            outro_url = youtube_search.search(outro)
            api.PostUpdate('{0} outro: {1} {2}'.format(ep.title.cdata, outro, outro_url))
def update_resource(subscription_id, cloud_service_name, resource_type, resource_name):
	message = untangle.parse(request.data)

	subscription = Subscription.query.filter_by(id=subscription_id).first()
	cloud_service = CloudService.query.filter_by(name=cloud_service_name,subscription_id=subscription_id).first()

	if not subscription:
		app.logger.debug("Can't update subscription ID %s because it was not found" % subscription_id)
		abort(404)
	if not cloud_service:
		app.logger.debug("Can't update cloud service ID %s because it was not found" % cloudservice_id)
		abort(404)

	resource = Resource.query.filter_by(name=resource_name, cloudservice_id=cloud_service_name).first()

	resource.name = resource_name
	resource.cloudservice_id = cloud_service.id
	resource.resource_type = resource_type
	resource.schema_version = message.Resource.SchemaVersion.cdata
	resource.plan = message.Resource.Plan.cdata
	resource.version = message.Resource.SchemaVersion.cdata
	try:
		resource.promo_code = message.Resource.PromotionCode
	except IndexError:
		app.logger.debug("Promotion code not found")

	resource.incarnation_id = message.Resource.ETag.cdata
	app.logger.debug("Saving resource %s" % resource_name)
	db.session.add(resource)
	db.session.commit()

	response_body = resource.to_xml()

	app.logger.debug(response_body)
	return Response(response_body, status=200, mimetype='text/xml')
示例#4
0
    def get_forestfireindex(self):
        headers = {'user-agent': user_agent}
        r = requests.get(api_url, headers=headers)
        u = untangle.parse(r.text)
        periods = u.weatherdata.product.time

        collection = ForestFireCollection(url=api_url)
        collection.save()

        for period in periods:
            time_from = period['from']
            time_to = period['to']
            for location in period.location:
                county = location['county']
                name = location['name']
                stationid = location['stationid']
                
                ws, ws_created = WeatherStation.objects.get_or_create(stationid=stationid, name=name, county=county)
                if ws_created:
                    self.get_wsinfo(ws)

                for ff in location.forest_fire:
                    if ff['unit'] == 'danger-index':
                        dangerindex = ff['value']
                ffi = ForestFireIndex(collection=collection, time_to=time_to, time_from=time_from, weatherstation=ws, dangerindex=dangerindex)
                ffi.save()
        collection.done = True
        collection.save()
示例#5
0
def index(request):
    search_query = None

    if request.method == 'POST':
        search_form = RecipeSearchForm(request.POST)
    else:
        search_form = RecipeSearchForm()

    table_data = []

    recipes = get_recipes(search_form.data.get('query'))

    if recipes:
        document = untangle.parse(recipes)

        if int(document.recipes['total']) > 0:
            for recipe in document.recipes.recipe:
                pk = 0
                if hasattr(recipe, 'pk'):
                    pk = recipe.pk.cdata

                table_data.append({'name': recipe.name.cdata,
                                   'pk': pk})

    return render(request, 'recipes/index.html',
                  {'table': RecipeTable(table_data),
                   'search_form': search_form})
示例#6
0
def parse_xml(filename):
  contents= ""
  with open(filename, "r") as f:
    contents = f.readlines()
  #print "i read the xml file, here are its contents:\n\n"
  #print contents
  root = untangle.parse(filename)
  return_dict = {}
  player1 = root.items.pName1.cdata
  player2 = root.items.pName2.cdata
  main_title = root.items.eventTitle.cdata
  titleL = root.items.rOundl.cdata 
  titleR = root.items.rOundr.cdata
  #print "p1" + player1 + "p2" + player2 + "titleL" + titleL + "titleR" + titleR + "main" + main_title
  # figure out what game we're in right now
  game_keywords = MELEE_KEYWORDS

  vod_title = main_title + ": " + titleL + " - " + titleR + ": ", player1 + " vs. " + player2
  final_title = "".join(vod_title)
  if len(final_title) > 95:
    final_title = final_title[:95]
  return_dict['title'] = final_title
  print "going to upload with the title:" + return_dict['title']
  return_dict['description'] = "VOD from" + main_title + " created by khz's auto vod uploader"
  return_dict['keywords'] = SMASH_KEYWORDS + NEBS_KEYWORDS + game_keywords
  return_dict['category'] = "20" # this is the US category for gaming
  return_dict['privacyStatus'] = "public" #XXX: change this later
  return return_dict
示例#7
0
def NYC_outage_fraction ():
    print 'Getting the data from : http://www.grandcentral.org/developers/data/nyct/nyct_ene.xml'
    f=urllib.urlopen('http://www.grandcentral.org/developers/data/nyct/nyct_ene.xml')
    print 'Data collection is done'
    raw_data=f.read()
    print 'Parsing the data'
    raw_data_parse=untangle.parse(raw_data)
    raw_data_parse.get_elements()

    print 'Filtering the outage data'

    outages = raw_data_parse.NYCOutages.outage

    global total
    total=len(outages)

    print 'Total nr. of escalators ' +str(total)

    global repair
    repair = 0
    for outage in outages:
        outage.get_elements()
        reason=outage.reason.cdata
        if reason == 'REPAIR':
            repair=+1
        else:
            continue

    print 'Nr. of escalators need repair ' + str(repair)

    global frac
    frac=repair/total*100

    print 'This is' +str(frac)+'% of the total escalators'
示例#8
0
def download_article_html(name, only_count=False, total=-1):
    rss_archive = os.path.join(DEFAULT_SAVE_PATH, name, 'rss_archive')
    article_archive = os.path.join(DEFAULT_SAVE_PATH, name, 'raw_articles')
    mkdir_p(article_archive)
    count = 0
    for rss in glob.glob(rss_archive+'/*.xml'):
        obj = untangle.parse(rss)
        if count > 1:
            break
        for item in obj.rss.channel.item:
            guid = item.guid.cdata
            title = item.title.cdata
            try:
                orig_link = item.feedburner_origLink
            except IndexError as e:
                logging.error(e)
                break
            link = "http://web.archive.org/web/{0}".format(orig_link)
            h = hashlib.sha224(guid).hexdigest()
            f = os.path.join(article_archive, h+'.html')
            if os.path.exists(f):
                continue
            count += 1
            if only_count:
                continue
            print(u'Downloading {0}/{1}: {2}'.format(count, total, title))
            resp = requests.get(link)
            if resp.status_code == 200:
                with open(f, 'w') as fp:
                    fp.write(resp.text)
    return count
示例#9
0
def test():
    query = request.args.get("q")
    result = []
    result_map = []
    url = "http://mercury-ops2.ornl.gov/usgssolr4/core1/select/"

    param2 = 'geo:"intersects(' + query + ')"'
    param3 = "*:*"
    payload = {"fq": param2, "q": param3, "start": 0, "rows": 1000}
    r = requests.get(url, params=payload)

    # faz o parsing do XML
    obj = untangle.parse(r.content)

    for doc in obj.response.result.doc:
        missing_bboxinfo = doc.str[7].cdata  # Does not the file contain bounding box info?

        if unicode.lower(missing_bboxinfo) == "false":
            projid = doc.str[0].cdata  # id
            nbc = float(doc.float[0].cdata)  # northBoundCoord //latitude
            sbc = float(doc.float[1].cdata)  # southBoundCoord //latitude
            ebc = float(doc.float[2].cdata)  # eastBoundCoord //longitude
            wbc = float(doc.float[3].cdata)  # westBoundCoord //longitude
            title = doc.str[12].cdata
            author = doc.arr[16].cdata
            abstract = doc.str[11].cdata
            update_data = doc.str[0].cdata
            network_url = doc.arr[9].cdata
            data_url = doc.arr[10].cdata

            ## obtain the centroid (based on http://gis.stackexchange.com/questions/64119/center-of-a-bounding-box_
            coords = (wbc, ebc, sbc, nbc)
            centerx, centery = (numpy.average(coords[:2]), numpy.average(coords[2:]))

            db.create_all()

            projectitr = Project(
                projid,
                nbc,
                sbc,
                ebc,
                wbc,
                centerx,
                centery,
                title,
                author,
                abstract,
                update_data,
                network_url,
                data_url,
            )

            db.session.add(projectitr)
            db.session.commit()

            # result_map.append({"properties": {"id": projid}, "geometry": Point((centery, centerx))})

            result_map.append({"properties": {"id": id}, "geometry": Point((centery, centerx))})
    print json.dumps(result_map)
    return json.dumps(result_map)
示例#10
0
    def sync_table(self, season, league, league_ssha_id, game_type):
        url = "%s/tabelle.aspx" % self.WS_URL
        params = {
            "typ": "liga",
            "id": league_ssha_id
        }
        self._logger.info("Fetching table for league %s" % (league_ssha_id, ))
        response = self._call_webservice(url, params)

        xml_table = untangle.parse(response.content)

        try:
            for xml in xml_table.ihs.Mannschaften.Mannschaft:
	        try:
                    team = self._get_team(xml.Team.cdata)
		except Club.DoesNotExist:
                    continue
                table = get_object_or_None(Table, team=team, season=season, league=league, game_type=game_type)
                if table is None:
                    table = Table(team=team, season=season, league=league, game_type=game_type)
                table.position = int(xml.Rang.cdata)
                table.gp = int(xml.Spiele.cdata)
                table.win = int(xml.Siege.cdata)
                table.loss = int(xml.Niederlagen.cdata)
                table.tie = int(xml.Remis.cdata)
                table.diff = xml.Tore.cdata
                table.points = int(xml.Punkte.cdata)

                table.save()
        except IndexError:
            self._logger.debug("No table entries found!")
def populate_metadata(apps, schema_editor):
    Extension = apps.get_model("studies", "Extension")

    for extension in Extension.objects.all():
        with default_storage.open(extension.xpi.name) as f:
            with zipfile.ZipFile(f) as zf:
                files = set(zf.namelist())

                if "manifest.json" in files:
                    with zf.open("manifest.json") as manifest_file:
                        data = json.load(manifest_file)
                        extension.extension_id = (
                            data.get("applications", {}).get("gecko", {}).get("id", None)
                        )
                        extension.version = data.get("version")
                elif "install.rdf" in files:
                    extension.is_legacy = True
                    with zf.open("install.rdf", "r") as rdf_file:
                        data = untangle.parse(rdf_file.read().decode())
                        extension.extension_id = data.RDF.Description.em_id.cdata
                        extension.version = data.RDF.Description.em_version.cdata
                else:
                    raise Exception("Invalid XPI.")

            if not extension.extension_id or not extension.version:
                raise Exception("Extension ID or version not set.")

            f.seek(0)
            extension.hash = hashlib.sha256(f.read()).hexdigest()
        extension.save()
示例#12
0
    def doSearch(self, searchstring):

        print("doSearch")
        # Clear the previous results
        self.resetResults()

        # Make the request
        url = "http://search.student.utwente.nl/api/search"

        params = {"q": searchstring, "n": 500}
        result = requests.get(url, params=params)

        if result.status_code == requests.codes.ok:
            parsed_xml = untangle.parse(result.text)

            # list of results
            try:
                results = parsed_xml.campus_search.result
            except IndexError:
                return

            # Add the results
            for result in results:
                if result.type.cdata == "file":

                    self.addResultItem(result.name.cdata, result.full_path.cdata, result.netbios_name.cdata)

            # Make the results show up
            self.scrollwindow.show_all()

        else:
            print("Error: sending request to campussearch failed")
    def __init__(self, path='', source = 'text', words=[]):
        if len(words) == 0:
            self.words = []
            if source == 'umarker': #xml from uncertaintymaker code
                import untangle
                template = untangle.parse(path)
                for word in template.transcription.words:
                    if not word.word.cdata in ["[sil]", "[NOISE]", "[SPEECH]"]:
                        self.words.append(Word(word.word.cdata, word.timeStart.cdata, word.timeEnd.cdata))

            elif source == 'ldc-wrd':
                wrd_file = open(path, 'r')
                for line in wrd_file:
                    elements = line.split(' ')
                    word = elements[2].rstrip()
                    time_from = self.convert_time(elements[0], from_time='ldc', to_time='ms')
                    time_to = self.convert_time(elements[1], from_time='ldc', to_time='ms')
                    self.words.append(Word(word, time_from, time_to))
                wrd_file.close()
            elif source == 'wrd':
                wrd_file = open(path, 'r')
                for line in wrd_file:
                    elements = line.split(' ')
                    word = elements[2].rstrip()
                    time_from = elements[0]
                    time_to = elements[1]
                    self.words.append(Word(word, time_from, time_to))
                wrd_file.close()
            elif source == 'text':
                path = path.encode('ascii', 'ignore')
                for word in word_tokenize(path):
                    if not word in ['"', "'", ".", "!", '``', '`', "''", '""']:
                        self.words.append(Word(word, '', ''))
        else:
            self.words = words
示例#14
0
    def wait_for_message(self, accept_message, unquote_msg=True, expect_xml=True, timeout=None):
        if isinstance(accept_message, (str, int)):
            msg_starts_with = '%s\t' % (accept_message,)

            def accept_message(msg):
                return msg.startswith(msg_starts_with)

        import untangle
        from io import StringIO
        prev = None
        while True:
            last = self.get_next_message('wait_for_message', timeout=timeout)
            if unquote_msg:
                last = unquote_plus(unquote_plus(last))
            if accept_message(last):
                if expect_xml:
                    # Extract xml and return untangled.
                    try:
                        xml = last[last.index('<xml>'):]
                        if isinstance(xml, bytes):
                            xml = xml.decode('utf-8')
                        xml = untangle.parse(StringIO(xml))
                    except:
                        traceback.print_exc()
                        raise AssertionError('Unable to parse:\n%s\nxml:\n%s' % (last, xml))
                    ret = xml.xml
                    ret.original_xml = last
                    return ret
                else:
                    return last
            if prev != last:
                print('Ignored message: %r' % (last,))

            prev = last
示例#15
0
def access():
    """
    Shows basic attribute access and node navigation.
    """
    o = untangle.parse('<node id="5">This is cdata<subnode value="abc"/></node>')
    return ("Node id = %s, subnode value = %s" %
            (o.node['id'], o.node.subnode['value']))
示例#16
0
文件: tests.py 项目: stchris/untangle
 def test_python_keyword(self):
     o = untangle.parse("<class><return/><pass/><None/></class>")
     self.assert_(o is not None)
     self.assert_(o.class_ is not None)
     self.assert_(o.class_.return_ is not None)
     self.assert_(o.class_.pass_ is not None)
     self.assert_(o.class_.None_ is not None)
示例#17
0
def create_mapping(domain_uid):
    res_mapping = {}
    xml_map = untangle.parse(ECOD_PDB_RES_MAP_URL % (domain_uid ,domain_uid))

    # TODO:
    # Mapping can be to the same chain but skip a few residues.
    # In this case a new match needs to be created!
    # See for example: http://prodata.swmed.edu/ecod/complete/domain/e3pymA2, http://prodata.swmed.edu/ecod/data/000147122/000147122.residues.xml
    # The mapping is split at resdiue 149 to 323 :-(
    for residue in xml_map.domain_residue_doc.residue_list.residue:
        chain_id = residue['chain_id']
        seq_id = int(residue['seq_id'])
        if residue['chain_id'] in res_mapping:
            if seq_id < res_mapping[chain_id]['seq_start']:
                res_mapping[chain_id]['seq_start'] = seq_id
                res_mapping[chain_id]['pdbresnum_start'] = residue['pdb_resnum']
            elif seq_id > res_mapping[chain_id]['seq_end']:
                res_mapping[chain_id]['seq_end'] = seq_id
                res_mapping[chain_id]['pdbresnum_end'] = residue['pdb_resnum']
        else:
            res_mapping[chain_id] = {}
            res_mapping[chain_id]['seq_start'] = seq_id
            res_mapping[chain_id]['pdbresnum_start'] = residue['pdb_resnum']
            res_mapping[chain_id]['seq_end'] = seq_id
            res_mapping[chain_id]['pdbresnum_end'] = residue['pdb_resnum']

    return res_mapping
示例#18
0
def _url(id3tag):
    """Get the lyric's URL by calling the API

    Extract song and artist frames from the id3tag and then call
    the lyrics.wikia.com api for the URL of the actual lyric.

    Args:
        id3tag (ID3): id3-tag of the song

    Returns:
        string: lyric URL if successful, None otherwise

    """
    try:
        # Get artist and song from tag
        artist = id3tag['TPE1'].text[0].encode('utf8')
        song = id3tag['TIT2'].text[0].encode('utf8')

        # Build request
        params = {'artist':artist, 'song':song, 'fmt':'xml'}
        request = 'http://lyrics.wikia.com/api.php?' + urllib.urlencode(params)

        # Do request
        response = untangle.parse(request)
        if response.LyricsResult.lyrics.cdata == 'Not found':
            return None
        return urllib.unquote(response.LyricsResult.url.cdata)

    except Exception:
        return None
示例#19
0
文件: tests.py 项目: stchris/untangle
    def test_attribute_protocol(self):
        o = untangle.parse('''
                    <root>
                     <child name="child1">
                        <subchild name="sub1"/>
                     </child>
                     <child name="child2"/>
                     <child name="child3">
                        <subchild name="sub2"/>
                        <subchild name="sub3"/>
                     </child>
                    </root>
                     ''')
        try:
            self.assertEquals(None, o.root.child.inexistent)
            self.fail('Was able to access inexistent child as None')
        except AttributeError:
            pass  # this is the expected error
        except IndexError:
            self.fail('Caught IndexError quen expecting AttributeError')

        self.assertTrue(hasattr(o.root, 'child'))
        self.assertFalse(hasattr(o.root, 'inexistent'))

        self.assertEqual('child1', getattr(o.root, 'child')[0]['name'])
示例#20
0
def get_steamids( group_name , page_number = 1):
	obj = 0

	while True:
		try:
			url = 'http://steamcommunity.com/groups/' + str(group_name) + '/memberslistxml/?xml=1&p=' + str(page_number)
			obj = untangle.parse(url)
		except:
			pass
		if str(obj) != '0':
			break

	try:
		string_obj = str(obj.memberList.members.steamID64)
	except:
		return []
		
	string_obj = string_obj.split(' ')
	

	
	steamids = []
	for item in string_obj:
		if '7656' in item:
			steamids.append(item[0:17])
	
	return steamids
示例#21
0
文件: tests.py 项目: marsam/untangle
 def test_multiple_children(self):
     """ Regular case of iteration. """
     o = untangle.parse("<a><b/><b/></a>")
     cnt = 0
     for i in o.a.b:
         cnt += 1
     self.assertEquals(2, cnt)
示例#22
0
文件: helpers.py 项目: tBaxter/Tango
def get_youtube_data(video):
    """
    Helper to extract video and thumbnail from youtube
    """
    video.source = 'youtube'
    if 'youtube.com/watch' in video.url:
        parsed = urlsplit(video.url)
        query  = parse_qs(parsed.query)
        try:
            video.key  = query.get('v')[0]
        except IndexError:
            video.key = None
    else:
        video.key = video.url.rsplit('/', 1)[1]
    video.embed_src = 'http://www.youtube.com/embed/'

    # api docs
    #          http://gdata.youtube.com/feeds/api/videos/hNRHHRjep3E
    # https://www.googleapis.com/youtube/v3/videos?id=hNRHHRjep3E&part=snippet,contentDetails,statistics
    api_url = 'http://gdata.youtube.com/feeds/api/videos/{}'.format(video.key)
    video_data = urlopen(api_url).read()
    xml = untangle.parse(video_data)

    video.title = xml.title
    video.slug = slugify(video.title)
    video.summary = xml.content
    #video.thumb_url = xml[xml_media.group][xml_media.thumbnail:][1]('url')
    return video
示例#23
0
 def initrecurls(self, loclist):
   for url in loclist:
     doc = untangle.parse(url)
     if int(doc.xml.changes['size']) > 0:
       for i in doc.xml.changes.id:
         self.recurls.append(baseurl + i.cdata + s + format)
   return self.recurls
def scihub2list(inpath, outpath):

    # get the list of file names from the sciHub search results
    logobj = untangle.parse(inpath)
    entrylist = logobj.feed.entry

    filenames = list()
    for obj in entrylist:
        filenames.append(obj.title.cdata.encode().strip())

    pathlist = list()
    for file in filenames:
        year = file[17:21]
        month = file[21:23]
        day = file[23:25]
        pathlist.append("/eodc/products/copernicus.eu/s1a_csar_grdh_iw/" + year + '/' + month + '/' + day + '/')

    # get the full file names
    filelist = list()
    for i in range(len(filenames)):
        result = sgrt.common.recursive_filesearch.search_file(pathlist[i], filenames[i]+'.zip')
        if len(result) != 0:
            filelist.append(result[0])

    # write results
    f = open(outpath, "wb")
    for x in filelist: f.write(x + '\n')
    #f.writelines(filelist)
    f.close()

    #with open(outpath, "wb") as f:
    #    writer = csv.writer(f, quoting=csv.QUOTE_NONE, lineterminator='\n', delimiter=',')
    #    writer.writerow(filelist)
def remove_processed_from_list(filelist, logfile, outpath):

    # read original file list

    with open (filelist, "rb") as f:
        file_list_old = f.readlines()

    # read log-file
    logobj = untangle.parse(logfile)
    processed = logobj.root.process_log.list_of_processed_files.cdata.encode().strip()
    processed = processed.split(", ")

    file_list_new = list()

    for listitem in file_list_old:
        exists = 0
        for pfile in processed:
            if os.path.basename(listitem.strip()) == pfile:
                exists = 1

        if exists == 0:
            file_list_new.append(listitem.strip())

    # write results
    f = open(outpath, "wb")
    for x in file_list_new: f.write(x + '\n')
    #f.writelines(filelist)
    f.close()
def _parse_xml(xml_string):

    try:
        xml_obj = untangle.parse(xml_string)
    except Exception as e:
        raise Exception("Unable to parse the XML : {}".format(e.message))

    return xml_obj
示例#27
0
def get_outage_data(raw_data):
    """Reads raw data and returns untangled outage data."""

    # Untangle content from downloaded data
    untangled_data = untangle.parse(raw_data.content)

    # Get outage data from tree
    return untangled_data.NYCOutages.outage
示例#28
0
def access_cdata():
    """
    Shows how to handle CDATA elements
    """
    o = untangle.parse(
        '<node id="5">This is cdata<subnode value="abc"/></node>'
    )
    return ("%s" % (o.node.cdata))
示例#29
0
    def fcs_leaf(self, word, wwn, fid = -1):
        """return the info for a specified leaf in the module
            brocade-fibrecahnnel-switch  yang file 
        
        """
        #vf_id = doc.Response.fibrechannel_switch.vf_id.cdata
        # s = get_tasks('vf-id', switch_ip, wwn, Auth_send)   ## command from below
        s = get_tasks(word,switch_ip, wwn,Auth_send, "fc_switch", fid )
        
        doc = untangle.parse(s.text)
        try:
                
            if "vf-id" == word:
                done = doc.Response.fibrechannel_switch.vf_id.cdata
            if "domain-id" == word:
                done =  doc.Response.fibrechannel_switch.domain_id.cdata
            if "fcid"  == word:
                done =  doc.Response.fibrechannel_switch.fcid.cdata
            if "user-friendly-name" == word:
                done =  doc.Response.fibrechannel_switch.user_friendly_name.cdata
            if "enabled-state" == word:
                done =  doc.Response.fibrechannel_switch.enabled_state.cdata
            if "up-time"  == word:
                done =  doc.Response.fibrechannel_switch.up_time.cdata
            if "model" == word:
                done = doc.Response.fibrechannel_switch.model.cdata
            if "firmware-version"  == word:
                done =  doc.Response.fibrechannel_switch.firmware_version.cdata
            if "ip-address"  == word:
                done =  doc.Response.fibrechannel_switch.ip_address.ip_address.cdata  ####################### THIS IS A SUB CONTAINER      
            if "domain-name"  == word:
                done =  doc.Response.fibrechannel_switch.domain_name.cdata
            if "fabric-user-friendly-name"  == word:
                done =  doc.Response.fibrechannel_switch.fabric_user_friendly_name.cdata
            if "ag-mode"  == word:
                done =  doc.Response.fibrechannel_switch.ag_mode.cdata    
            if "principal"  == word:
                done =  doc.Response.fibrechannel_switch.principal.cdata 
        #    'domain-id', 'user-friendly-name', 'fcid', 'vf-id', 'principal', 'enabled-state',
        #    'up-time', 'model', 'firmware-version', 'ip-address', 'domain-name', 'fabric-user-friendly-name', 'ag-mode'
        
        
            if done == "none":
            
                print("\n\nError in fs_leaf the command requested is not one of the\
                    \ncommand requested was  %s    \
                    \n\nthe list of valid commands is \ndomain-id\nchassis-wwn\
                    \nswitch-user-friendly-name\nprincipal\nfcid\nip-address\
                    \nfcip-address\nipv6-address\nfirmware-version\n\n"  %  word)    

        
        except AttributeError:
            print("Error during untangle - None was returned")
            done = "Untangle Error"
        except:
            print("Error in untagle" , sys.exc_info()[0] )
            done = "Untangle Error"
        return(done)
示例#30
0
def process(xml): #Procesamos al señor XML
    o = untangle.parse(xml) #Nos facilitamos la vida y parseamos el XML
    url = o.upload.links.original.cdata #Extraemos el link de la imagen subida
    #delete_page = o.upload.links.delete_page.cdata #Esto es para obtener el link para eliminar la imagen subida
    tw2 = textweet.get() #Obtenemos valor del campo de texto, osea el tweet a enviar
    api.update_status(''+ tw2 + ' ' + url + '') #Tweet + Imagen subida
    print ('\n------------------\n=== Tweet enviado ===\n'+ tw2 +'\n\n=== Foto subida ===\n'+ url +'\n\n=== Enviado con exito ===\nSi\n------------------\n') #Log en terminal
    texttw.delete(0, END) #Borramos campo de texto
    lasttweet() #Obtenemos ultimo tweet
示例#31
0
def read_r2020_evtservprest(dados, arquivo, validar=False):
    import untangle
    xml = ler_arquivo(arquivo).replace("s:", "")
    doc = untangle.parse(xml)
    r2020_evtservprest_dados = {}
    xmlns = doc.Reinf['xmlns'].split('/')
    if validar:
        r2020_evtservprest_dados['status'] = 1
    else:
        r2020_evtservprest_dados['status'] = 0
    r2020_evtservprest_dados['versao'] = xmlns[len(xmlns) - 1]
    r2020_evtservprest_dados['identidade'] = doc.Reinf.evtServPrest['id']
    # verificacao = executar_sql("""SELECT count(*)
    #     FROM public.transmissor_eventos_efdreinf WHERE identidade = '%s';
    #     """ % r2020_evtservprest_dados['identidade'], True)
    # if validar and verificacao[0][0] != 0:
    #     return False
    #r2020_evtservprest_dados['processamento_codigo_resposta'] = 1
    evtServPrest = doc.Reinf.evtServPrest

    if 'indRetif' in dir(evtServPrest.ideEvento):
        r2020_evtservprest_dados[
            'indretif'] = evtServPrest.ideEvento.indRetif.cdata
    if 'nrRecibo' in dir(evtServPrest.ideEvento):
        r2020_evtservprest_dados[
            'nrrecibo'] = evtServPrest.ideEvento.nrRecibo.cdata
    if 'perApur' in dir(evtServPrest.ideEvento):
        r2020_evtservprest_dados[
            'perapur'] = evtServPrest.ideEvento.perApur.cdata
    if 'tpAmb' in dir(evtServPrest.ideEvento):
        r2020_evtservprest_dados['tpamb'] = evtServPrest.ideEvento.tpAmb.cdata
    if 'procEmi' in dir(evtServPrest.ideEvento):
        r2020_evtservprest_dados[
            'procemi'] = evtServPrest.ideEvento.procEmi.cdata
    if 'verProc' in dir(evtServPrest.ideEvento):
        r2020_evtservprest_dados[
            'verproc'] = evtServPrest.ideEvento.verProc.cdata
    if 'tpInsc' in dir(evtServPrest.ideContri):
        r2020_evtservprest_dados[
            'tpinsc'] = evtServPrest.ideContri.tpInsc.cdata
    if 'nrInsc' in dir(evtServPrest.ideContri):
        r2020_evtservprest_dados[
            'nrinsc'] = evtServPrest.ideContri.nrInsc.cdata
    if 'tpInscEstabPrest' in dir(evtServPrest.infoServPrest.ideEstabPrest):
        r2020_evtservprest_dados[
            'tpinscestabprest'] = evtServPrest.infoServPrest.ideEstabPrest.tpInscEstabPrest.cdata
    if 'nrInscEstabPrest' in dir(evtServPrest.infoServPrest.ideEstabPrest):
        r2020_evtservprest_dados[
            'nrinscestabprest'] = evtServPrest.infoServPrest.ideEstabPrest.nrInscEstabPrest.cdata
    if 'tpInscTomador' in dir(
            evtServPrest.infoServPrest.ideEstabPrest.ideTomador):
        r2020_evtservprest_dados[
            'tpinsctomador'] = evtServPrest.infoServPrest.ideEstabPrest.ideTomador.tpInscTomador.cdata
    if 'nrInscTomador' in dir(
            evtServPrest.infoServPrest.ideEstabPrest.ideTomador):
        r2020_evtservprest_dados[
            'nrinsctomador'] = evtServPrest.infoServPrest.ideEstabPrest.ideTomador.nrInscTomador.cdata
    if 'indObra' in dir(evtServPrest.infoServPrest.ideEstabPrest.ideTomador):
        r2020_evtservprest_dados[
            'indobra'] = evtServPrest.infoServPrest.ideEstabPrest.ideTomador.indObra.cdata
    if 'vlrTotalBruto' in dir(
            evtServPrest.infoServPrest.ideEstabPrest.ideTomador):
        r2020_evtservprest_dados[
            'vlrtotalbruto'] = evtServPrest.infoServPrest.ideEstabPrest.ideTomador.vlrTotalBruto.cdata
    if 'vlrTotalBaseRet' in dir(
            evtServPrest.infoServPrest.ideEstabPrest.ideTomador):
        r2020_evtservprest_dados[
            'vlrtotalbaseret'] = evtServPrest.infoServPrest.ideEstabPrest.ideTomador.vlrTotalBaseRet.cdata
    if 'vlrTotalRetPrinc' in dir(
            evtServPrest.infoServPrest.ideEstabPrest.ideTomador):
        r2020_evtservprest_dados[
            'vlrtotalretprinc'] = evtServPrest.infoServPrest.ideEstabPrest.ideTomador.vlrTotalRetPrinc.cdata
    if 'vlrTotalRetAdic' in dir(
            evtServPrest.infoServPrest.ideEstabPrest.ideTomador):
        r2020_evtservprest_dados[
            'vlrtotalretadic'] = evtServPrest.infoServPrest.ideEstabPrest.ideTomador.vlrTotalRetAdic.cdata
    if 'vlrTotalNRetPrinc' in dir(
            evtServPrest.infoServPrest.ideEstabPrest.ideTomador):
        r2020_evtservprest_dados[
            'vlrtotalnretprinc'] = evtServPrest.infoServPrest.ideEstabPrest.ideTomador.vlrTotalNRetPrinc.cdata
    if 'vlrTotalNRetAdic' in dir(
            evtServPrest.infoServPrest.ideEstabPrest.ideTomador):
        r2020_evtservprest_dados[
            'vlrtotalnretadic'] = evtServPrest.infoServPrest.ideEstabPrest.ideTomador.vlrTotalNRetAdic.cdata
    if 'inclusao' in dir(evtServPrest.infoServPrest):
        r2020_evtservprest_dados['operacao'] = 1
    elif 'alteracao' in dir(evtServPrest.infoServPrest):
        r2020_evtservprest_dados['operacao'] = 2
    elif 'exclusao' in dir(evtServPrest.infoServPrest):
        r2020_evtservprest_dados['operacao'] = 3
    #print dados
    insert = create_insert('r2020_evtservprest', r2020_evtservprest_dados)
    resp = executar_sql(insert, True)
    r2020_evtservprest_id = resp[0][0]
    dados['evento'] = 'r2020'
    dados['identidade'] = r2020_evtservprest_id
    dados['identidade_evento'] = doc.Reinf.evtServPrest['id']
    dados['status'] = 1

    if 'nfs' in dir(evtServPrest.infoServPrest.ideEstabPrest.ideTomador):
        for nfs in evtServPrest.infoServPrest.ideEstabPrest.ideTomador.nfs:
            r2020_nfs_dados = {}
            r2020_nfs_dados['r2020_evtservprest_id'] = r2020_evtservprest_id

            if 'serie' in dir(nfs): r2020_nfs_dados['serie'] = nfs.serie.cdata
            if 'numDocto' in dir(nfs):
                r2020_nfs_dados['numdocto'] = nfs.numDocto.cdata
            if 'dtEmissaoNF' in dir(nfs):
                r2020_nfs_dados['dtemissaonf'] = nfs.dtEmissaoNF.cdata
            if 'vlrBruto' in dir(nfs):
                r2020_nfs_dados['vlrbruto'] = nfs.vlrBruto.cdata
            if 'obs' in dir(nfs): r2020_nfs_dados['obs'] = nfs.obs.cdata
            insert = create_insert('r2020_nfs', r2020_nfs_dados)
            resp = executar_sql(insert, True)
            r2020_nfs_id = resp[0][0]
            #print r2020_nfs_id

            if 'infoTpServ' in dir(nfs):
                for infoTpServ in nfs.infoTpServ:
                    r2020_infotpserv_dados = {}
                    r2020_infotpserv_dados['r2020_nfs_id'] = r2020_nfs_id

                    if 'tpServico' in dir(infoTpServ):
                        r2020_infotpserv_dados[
                            'tpservico'] = infoTpServ.tpServico.cdata
                    if 'vlrBaseRet' in dir(infoTpServ):
                        r2020_infotpserv_dados[
                            'vlrbaseret'] = infoTpServ.vlrBaseRet.cdata
                    if 'vlrRetencao' in dir(infoTpServ):
                        r2020_infotpserv_dados[
                            'vlrretencao'] = infoTpServ.vlrRetencao.cdata
                    if 'vlrRetSub' in dir(infoTpServ):
                        r2020_infotpserv_dados[
                            'vlrretsub'] = infoTpServ.vlrRetSub.cdata
                    if 'vlrNRetPrinc' in dir(infoTpServ):
                        r2020_infotpserv_dados[
                            'vlrnretprinc'] = infoTpServ.vlrNRetPrinc.cdata
                    if 'vlrServicos15' in dir(infoTpServ):
                        r2020_infotpserv_dados[
                            'vlrservicos15'] = infoTpServ.vlrServicos15.cdata
                    if 'vlrServicos20' in dir(infoTpServ):
                        r2020_infotpserv_dados[
                            'vlrservicos20'] = infoTpServ.vlrServicos20.cdata
                    if 'vlrServicos25' in dir(infoTpServ):
                        r2020_infotpserv_dados[
                            'vlrservicos25'] = infoTpServ.vlrServicos25.cdata
                    if 'vlrAdicional' in dir(infoTpServ):
                        r2020_infotpserv_dados[
                            'vlradicional'] = infoTpServ.vlrAdicional.cdata
                    if 'vlrNRetAdic' in dir(infoTpServ):
                        r2020_infotpserv_dados[
                            'vlrnretadic'] = infoTpServ.vlrNRetAdic.cdata
                    insert = create_insert('r2020_infotpserv',
                                           r2020_infotpserv_dados)
                    resp = executar_sql(insert, True)
                    r2020_infotpserv_id = resp[0][0]
                    #print r2020_infotpserv_id

    if 'infoProcRetPr' in dir(
            evtServPrest.infoServPrest.ideEstabPrest.ideTomador):
        for infoProcRetPr in evtServPrest.infoServPrest.ideEstabPrest.ideTomador.infoProcRetPr:
            r2020_infoprocretpr_dados = {}
            r2020_infoprocretpr_dados[
                'r2020_evtservprest_id'] = r2020_evtservprest_id

            if 'tpProcRetPrinc' in dir(infoProcRetPr):
                r2020_infoprocretpr_dados[
                    'tpprocretprinc'] = infoProcRetPr.tpProcRetPrinc.cdata
            if 'nrProcRetPrinc' in dir(infoProcRetPr):
                r2020_infoprocretpr_dados[
                    'nrprocretprinc'] = infoProcRetPr.nrProcRetPrinc.cdata
            if 'codSuspPrinc' in dir(infoProcRetPr):
                r2020_infoprocretpr_dados[
                    'codsuspprinc'] = infoProcRetPr.codSuspPrinc.cdata
            if 'valorPrinc' in dir(infoProcRetPr):
                r2020_infoprocretpr_dados[
                    'valorprinc'] = infoProcRetPr.valorPrinc.cdata
            insert = create_insert('r2020_infoprocretpr',
                                   r2020_infoprocretpr_dados)
            resp = executar_sql(insert, True)
            r2020_infoprocretpr_id = resp[0][0]
            #print r2020_infoprocretpr_id

    if 'infoProcRetAd' in dir(
            evtServPrest.infoServPrest.ideEstabPrest.ideTomador):
        for infoProcRetAd in evtServPrest.infoServPrest.ideEstabPrest.ideTomador.infoProcRetAd:
            r2020_infoprocretad_dados = {}
            r2020_infoprocretad_dados[
                'r2020_evtservprest_id'] = r2020_evtservprest_id

            if 'tpProcRetAdic' in dir(infoProcRetAd):
                r2020_infoprocretad_dados[
                    'tpprocretadic'] = infoProcRetAd.tpProcRetAdic.cdata
            if 'nrProcRetAdic' in dir(infoProcRetAd):
                r2020_infoprocretad_dados[
                    'nrprocretadic'] = infoProcRetAd.nrProcRetAdic.cdata
            if 'codSuspAdic' in dir(infoProcRetAd):
                r2020_infoprocretad_dados[
                    'codsuspadic'] = infoProcRetAd.codSuspAdic.cdata
            if 'valorAdic' in dir(infoProcRetAd):
                r2020_infoprocretad_dados[
                    'valoradic'] = infoProcRetAd.valorAdic.cdata
            insert = create_insert('r2020_infoprocretad',
                                   r2020_infoprocretad_dados)
            resp = executar_sql(insert, True)
            r2020_infoprocretad_id = resp[0][0]
            #print r2020_infoprocretad_id

    from emensageriapro.efdreinf.views.r2020_evtservprest_verificar import validar_evento_funcao
    if validar: validar_evento_funcao(r2020_evtservprest_id, 'default')
    return dados
示例#32
0
def create_tumour_ablation_mapping(dir_xml_files,
                                   list_segmentations_paths_xml):
    """
    Parses all the XML Files in a given directory and extracts the Source SeriesInstanceSeries on which the segmentation
    files were annotated and the SeriesInstanceUID of the segmentations
    :param list_segmentations_paths_xml: list of dicts with SeriesInstanceUID, TimeStamp adn SourceUID of segmentation files
    :param dir_xml_files: filepath to where the XML recordings are (date_time)
    :return: list_segmentations_paths_xml: Pandas DF with segmentation Sorur
    """

    # list_dict_paths_xml = []

    for subdir, dirs, files in os.walk(dir_xml_files):

        for file in sorted(files):
            xml_file = os.path.join(subdir, file)
            if file.startswith('AblationValidation_') or file.startswith(
                    'Plan_'):
                try:
                    xmlobj = ut.parse(xml_file)
                except Exception as e:
                    # the file is not an xml
                    continue
                try:
                    trajectories = xmlobj.Eagles.Trajectories
                except Exception as e:
                    print(repr(e))
                    continue
                for idx, tr in enumerate(trajectories):
                    try:
                        single_tr = tr.Trajectory
                        for idx_tr, el in enumerate(single_tr):
                            # do the source series mapping based on the seriesID from the XML PatientData
                            # match ablation and tumour segmentations based on the needle index
                            # ignore unique values
                            # just loop until you find a not None value for both tumour and ablation at the same needle idx
                            try:
                                segmentation = el.Segmentation
                            except AttributeError:
                                # no segmentation found in this trajectory
                                continue  # go back to the beginning of the loop
                            try:
                                series_number = xmlobj.Eagles.PatientData[
                                    "seriesNumber"]
                            except AttributeError:
                                series_number = None
                            try:
                                segmentation_series_uid = el.Segmentation.SeriesUID.cdata
                            except AttributeError:
                                print(
                                    "No segmentation series uid for this segmentation"
                                )
                                segmentation_series_uid = None
                            try:
                                segmentation_path_series = el.Segmentation.Path.cdata
                            except AttributeError:
                                # print('no segmentation path available')
                                segmentation_path_series = None
                            try:
                                type_of_segmentation = el.Segmentation[
                                    "TypeOfSegmentation"]
                            except AttributeError:
                                type_of_segmentation = None
                            try:
                                sphere_radius = el.Segmentation["SphereRadius"]
                            except AttributeError:
                                sphere_radius = None

                            if sphere_radius is not None:
                                print(
                                    'patient dir has spheres as segmentations. must correct:',
                                    dir_xml_files)

                            dict_series_path_xml = {
                                "Timestamp":
                                xmlobj.Eagles["time"],
                                "NeedleIdx":
                                idx_tr,
                                "SourceSeriesID":
                                xmlobj.Eagles.PatientData["seriesID"],
                                "PathSeries":
                                segmentation_path_series,
                                "SegmentationSeriesUID_xml":
                                segmentation_series_uid,
                                "SegmentLabel":
                                el.Segmentation["StructureType"],
                                "TypeOfSegmentation":
                                type_of_segmentation,
                                "SphereRadius":
                                sphere_radius,
                                "SeriesNumber":
                                series_number
                            }

                            if segmentation_series_uid or sphere_radius is not None:
                                try:
                                    # look if the SegmentationSeriesUID already exists in the dictionary
                                    path_series_found = next(
                                        (item for item in
                                         list_segmentations_paths_xml
                                         if item["PathSeries"] ==
                                         segmentation_path_series), None)
                                    sphere_radius_found = next(
                                        (item for item in
                                         list_segmentations_paths_xml
                                         if item["SphereRadius"] ==
                                         sphere_radius), None)
                                except AttributeError:
                                    print('WTF')
                                    # print(list_segmentations_paths_xml)
                                if path_series_found is None or sphere_radius_found is None:
                                    # only add unique segmentations paths, skip duplicates
                                    list_segmentations_paths_xml.append(
                                        dict_series_path_xml)
                    except Exception:
                        # no clue what happened, some XML error
                        list_segmentations_paths_xml.append(None)

        return list_segmentations_paths_xml
示例#33
0
def validacoes_s5013_evtfgts(arquivo):
    from emensageriapro.mensageiro.functions.funcoes_validacoes import validar_campo
    import untangle
    xml = ler_arquivo(arquivo).replace("s:", "")
    doc = untangle.parse(xml)
    validacoes_lista = []
    xmlns = doc.eSocial['xmlns'].split('/')
    evtFGTS = doc.eSocial.evtFGTS

    if 'perApur' in dir(evtFGTS.ideEvento):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtFGTS.ideEvento.perApur',
                                         evtFGTS.ideEvento.perApur.cdata, 1,
                                         '')
    if 'tpInsc' in dir(evtFGTS.ideEmpregador):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtFGTS.ideEmpregador.tpInsc',
                                         evtFGTS.ideEmpregador.tpInsc.cdata, 1,
                                         '1;2')
    if 'nrInsc' in dir(evtFGTS.ideEmpregador):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtFGTS.ideEmpregador.nrInsc',
                                         evtFGTS.ideEmpregador.nrInsc.cdata, 1,
                                         '')
    if 'nrRecArqBase' in dir(evtFGTS.infoFGTS):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtFGTS.infoFGTS.nrRecArqBase',
                                         evtFGTS.infoFGTS.nrRecArqBase.cdata,
                                         1, '')
    if 'indExistInfo' in dir(evtFGTS.infoFGTS):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtFGTS.infoFGTS.indExistInfo',
                                         evtFGTS.infoFGTS.indExistInfo.cdata,
                                         1, '1;2;3')
    if 'basePerApur' in dir(evtFGTS.infoFGTS.infoBaseFGTS):
        for basePerApur in evtFGTS.infoFGTS.infoBaseFGTS.basePerApur:

            if 'tpValor' in dir(basePerApur):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'basePerApur.tpValor',
                                                 basePerApur.tpValor.cdata, 1,
                                                 '')
            if 'baseFGTS' in dir(basePerApur):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'basePerApur.baseFGTS',
                                                 basePerApur.baseFGTS.cdata, 1,
                                                 '')

    if 'infoBasePerAntE' in dir(evtFGTS.infoFGTS.infoBaseFGTS):
        for infoBasePerAntE in evtFGTS.infoFGTS.infoBaseFGTS.infoBasePerAntE:

            if 'perRef' in dir(infoBasePerAntE):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'infoBasePerAntE.perRef',
                                                 infoBasePerAntE.perRef.cdata,
                                                 1, '')

            if 'basePerAntE' in dir(infoBasePerAntE):
                for basePerAntE in infoBasePerAntE.basePerAntE:

                    if 'tpValorE' in dir(basePerAntE):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'basePerAntE.tpValorE',
                            basePerAntE.tpValorE.cdata, 1, '')
                    if 'baseFGTSE' in dir(basePerAntE):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'basePerAntE.baseFGTSE',
                            basePerAntE.baseFGTSE.cdata, 1, '')

    if 'dpsPerApur' in dir(evtFGTS.infoFGTS.infoDpsFGTS):
        for dpsPerApur in evtFGTS.infoFGTS.infoDpsFGTS.dpsPerApur:

            if 'tpDps' in dir(dpsPerApur):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'dpsPerApur.tpDps',
                                                 dpsPerApur.tpDps.cdata, 1, '')
            if 'vrFGTS' in dir(dpsPerApur):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'dpsPerApur.vrFGTS',
                                                 dpsPerApur.vrFGTS.cdata, 1,
                                                 '')

    if 'infoDpsPerAntE' in dir(evtFGTS.infoFGTS.infoDpsFGTS):
        for infoDpsPerAntE in evtFGTS.infoFGTS.infoDpsFGTS.infoDpsPerAntE:

            if 'perRef' in dir(infoDpsPerAntE):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'infoDpsPerAntE.perRef',
                                                 infoDpsPerAntE.perRef.cdata,
                                                 1, '')

            if 'dpsPerAntE' in dir(infoDpsPerAntE):
                for dpsPerAntE in infoDpsPerAntE.dpsPerAntE:

                    if 'tpDpsE' in dir(dpsPerAntE):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'dpsPerAntE.tpDpsE',
                            dpsPerAntE.tpDpsE.cdata, 1, '')
                    if 'vrFGTSE' in dir(dpsPerAntE):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'dpsPerAntE.vrFGTSE',
                            dpsPerAntE.vrFGTSE.cdata, 1, '')

    return validacoes_lista
示例#34
0
def validacoes_r3010_evtespdesportivo(arquivo):
    from emensageriapro.mensageiro.functions.funcoes_validacoes import validar_campo
    import untangle
    xml = ler_arquivo(arquivo).replace("s:", "")
    doc = untangle.parse(xml)
    validacoes_lista = []
    xmlns = doc.Reinf['xmlns'].split('/')
    evtEspDesportivo = doc.Reinf.evtEspDesportivo

    if 'indRetif' in dir(evtEspDesportivo.ideEvento):
        validacoes_lista = validar_campo(
            validacoes_lista, 'evtEspDesportivo.ideEvento.indRetif',
            evtEspDesportivo.ideEvento.indRetif.cdata, 1, '1;2')
    if 'nrRecibo' in dir(evtEspDesportivo.ideEvento):
        validacoes_lista = validar_campo(
            validacoes_lista, 'evtEspDesportivo.ideEvento.nrRecibo',
            evtEspDesportivo.ideEvento.nrRecibo.cdata, 0, '')
    if 'dtApuracao' in dir(evtEspDesportivo.ideEvento):
        validacoes_lista = validar_campo(
            validacoes_lista, 'evtEspDesportivo.ideEvento.dtApuracao',
            evtEspDesportivo.ideEvento.dtApuracao.cdata, 1, '')
    if 'tpAmb' in dir(evtEspDesportivo.ideEvento):
        validacoes_lista = validar_campo(
            validacoes_lista, 'evtEspDesportivo.ideEvento.tpAmb',
            evtEspDesportivo.ideEvento.tpAmb.cdata, 1, '1;2')
    if 'procEmi' in dir(evtEspDesportivo.ideEvento):
        validacoes_lista = validar_campo(
            validacoes_lista, 'evtEspDesportivo.ideEvento.procEmi',
            evtEspDesportivo.ideEvento.procEmi.cdata, 1, '1;2')
    if 'verProc' in dir(evtEspDesportivo.ideEvento):
        validacoes_lista = validar_campo(
            validacoes_lista, 'evtEspDesportivo.ideEvento.verProc',
            evtEspDesportivo.ideEvento.verProc.cdata, 1, '')
    if 'tpInsc' in dir(evtEspDesportivo.ideContri):
        validacoes_lista = validar_campo(
            validacoes_lista, 'evtEspDesportivo.ideContri.tpInsc',
            evtEspDesportivo.ideContri.tpInsc.cdata, 1, '1;2')
    if 'nrInsc' in dir(evtEspDesportivo.ideContri):
        validacoes_lista = validar_campo(
            validacoes_lista, 'evtEspDesportivo.ideContri.nrInsc',
            evtEspDesportivo.ideContri.nrInsc.cdata, 1, '')
    if 'tpInscEstab' in dir(evtEspDesportivo.ideContri.ideEstab):
        validacoes_lista = validar_campo(
            validacoes_lista,
            'evtEspDesportivo.ideContri.ideEstab.tpInscEstab',
            evtEspDesportivo.ideContri.ideEstab.tpInscEstab.cdata, 1, '1')
    if 'nrInscEstab' in dir(evtEspDesportivo.ideContri.ideEstab):
        validacoes_lista = validar_campo(
            validacoes_lista,
            'evtEspDesportivo.ideContri.ideEstab.nrInscEstab',
            evtEspDesportivo.ideContri.ideEstab.nrInscEstab.cdata, 1, '')
    if 'vlrReceitaTotal' in dir(
            evtEspDesportivo.ideContri.ideEstab.receitaTotal):
        validacoes_lista = validar_campo(
            validacoes_lista,
            'evtEspDesportivo.ideContri.ideEstab.receitaTotal.vlrReceitaTotal',
            evtEspDesportivo.ideContri.ideEstab.receitaTotal.vlrReceitaTotal.
            cdata, 1, '')
    if 'vlrCP' in dir(evtEspDesportivo.ideContri.ideEstab.receitaTotal):
        validacoes_lista = validar_campo(
            validacoes_lista,
            'evtEspDesportivo.ideContri.ideEstab.receitaTotal.vlrCP',
            evtEspDesportivo.ideContri.ideEstab.receitaTotal.vlrCP.cdata, 1,
            '')
    if 'vlrCPSuspTotal' in dir(
            evtEspDesportivo.ideContri.ideEstab.receitaTotal):
        validacoes_lista = validar_campo(
            validacoes_lista,
            'evtEspDesportivo.ideContri.ideEstab.receitaTotal.vlrCPSuspTotal',
            evtEspDesportivo.ideContri.ideEstab.receitaTotal.vlrCPSuspTotal.
            cdata, 0, '')
    if 'vlrReceitaClubes' in dir(
            evtEspDesportivo.ideContri.ideEstab.receitaTotal):
        validacoes_lista = validar_campo(
            validacoes_lista,
            'evtEspDesportivo.ideContri.ideEstab.receitaTotal.vlrReceitaClubes',
            evtEspDesportivo.ideContri.ideEstab.receitaTotal.vlrReceitaClubes.
            cdata, 1, '')
    if 'vlrRetParc' in dir(evtEspDesportivo.ideContri.ideEstab.receitaTotal):
        validacoes_lista = validar_campo(
            validacoes_lista,
            'evtEspDesportivo.ideContri.ideEstab.receitaTotal.vlrRetParc',
            evtEspDesportivo.ideContri.ideEstab.receitaTotal.vlrRetParc.cdata,
            1, '')
    if 'boletim' in dir(evtEspDesportivo.ideContri.ideEstab):
        for boletim in evtEspDesportivo.ideContri.ideEstab.boletim:

            if 'nrBoletim' in dir(boletim):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'boletim.nrBoletim',
                                                 boletim.nrBoletim.cdata, 1,
                                                 '')
            if 'tpCompeticao' in dir(boletim):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'boletim.tpCompeticao',
                                                 boletim.tpCompeticao.cdata, 1,
                                                 '1;2')
            if 'categEvento' in dir(boletim):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'boletim.categEvento',
                                                 boletim.categEvento.cdata, 1,
                                                 '1;2;3;4')
            if 'modDesportiva' in dir(boletim):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'boletim.modDesportiva',
                                                 boletim.modDesportiva.cdata,
                                                 1, '')
            if 'nomeCompeticao' in dir(boletim):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'boletim.nomeCompeticao',
                                                 boletim.nomeCompeticao.cdata,
                                                 1, '')
            if 'cnpjMandante' in dir(boletim):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'boletim.cnpjMandante',
                                                 boletim.cnpjMandante.cdata, 1,
                                                 '')
            if 'cnpjVisitante' in dir(boletim):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'boletim.cnpjVisitante',
                                                 boletim.cnpjVisitante.cdata,
                                                 0, '')
            if 'nomeVisitante' in dir(boletim):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'boletim.nomeVisitante',
                                                 boletim.nomeVisitante.cdata,
                                                 0, '')
            if 'pracaDesportiva' in dir(boletim):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'boletim.pracaDesportiva',
                                                 boletim.pracaDesportiva.cdata,
                                                 1, '')
            if 'codMunic' in dir(boletim):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'boletim.codMunic',
                                                 boletim.codMunic.cdata, 0, '')
            if 'uf' in dir(boletim):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'boletim.uf',
                                                 boletim.uf.cdata, 1, '')
            if 'qtdePagantes' in dir(boletim):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'boletim.qtdePagantes',
                                                 boletim.qtdePagantes.cdata, 1,
                                                 '')
            if 'qtdeNaoPagantes' in dir(boletim):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'boletim.qtdeNaoPagantes',
                                                 boletim.qtdeNaoPagantes.cdata,
                                                 1, '')

            if 'receitaIngressos' in dir(boletim):
                for receitaIngressos in boletim.receitaIngressos:

                    if 'tpIngresso' in dir(receitaIngressos):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'receitaIngressos.tpIngresso',
                            receitaIngressos.tpIngresso.cdata, 1, '1;2;3;4')
                    if 'descIngr' in dir(receitaIngressos):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'receitaIngressos.descIngr',
                            receitaIngressos.descIngr.cdata, 1, '')
                    if 'qtdeIngrVenda' in dir(receitaIngressos):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'receitaIngressos.qtdeIngrVenda',
                            receitaIngressos.qtdeIngrVenda.cdata, 1, '')
                    if 'qtdeIngrVendidos' in dir(receitaIngressos):
                        validacoes_lista = validar_campo(
                            validacoes_lista,
                            'receitaIngressos.qtdeIngrVendidos',
                            receitaIngressos.qtdeIngrVendidos.cdata, 1, '')
                    if 'qtdeIngrDev' in dir(receitaIngressos):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'receitaIngressos.qtdeIngrDev',
                            receitaIngressos.qtdeIngrDev.cdata, 1, '')
                    if 'precoIndiv' in dir(receitaIngressos):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'receitaIngressos.precoIndiv',
                            receitaIngressos.precoIndiv.cdata, 1, '')
                    if 'vlrTotal' in dir(receitaIngressos):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'receitaIngressos.vlrTotal',
                            receitaIngressos.vlrTotal.cdata, 1, '')

            if 'outrasReceitas' in dir(boletim):
                for outrasReceitas in boletim.outrasReceitas:

                    if 'tpReceita' in dir(outrasReceitas):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'outrasReceitas.tpReceita',
                            outrasReceitas.tpReceita.cdata, 1, '1;2;3;4;5')
                    if 'vlrReceita' in dir(outrasReceitas):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'outrasReceitas.vlrReceita',
                            outrasReceitas.vlrReceita.cdata, 1, '')
                    if 'descReceita' in dir(outrasReceitas):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'outrasReceitas.descReceita',
                            outrasReceitas.descReceita.cdata, 1, '')

    if 'infoProc' in dir(evtEspDesportivo.ideContri.ideEstab.receitaTotal):
        for infoProc in evtEspDesportivo.ideContri.ideEstab.receitaTotal.infoProc:

            if 'tpProc' in dir(infoProc):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'infoProc.tpProc',
                                                 infoProc.tpProc.cdata, 1,
                                                 '1;2')
            if 'nrProc' in dir(infoProc):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'infoProc.nrProc',
                                                 infoProc.nrProc.cdata, 1, '')
            if 'codSusp' in dir(infoProc):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'infoProc.codSusp',
                                                 infoProc.codSusp.cdata, 0, '')
            if 'vlrCPSusp' in dir(infoProc):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'infoProc.vlrCPSusp',
                                                 infoProc.vlrCPSusp.cdata, 1,
                                                 '')

    return validacoes_lista
示例#35
0
import untangle
import pandas

# Sample lambda function to parse returned XML & extract computer-names (note it has 1 parameter &
#        returns a dataframe
#        previously: ResponseDataframe = pd.DataFrame([i.cdata for i in untangle.parse(x).BESAPI.Query.Result.Answer])
computersLf1 = lambda x: pd.DataFrame(
    [i.cdata for i in untangle.parse(x).BESAPI.Query.Result.Answer])
computersLf2 = lambda x: pd.DataFrame(
    [i.cdata.split(">") for i in untangle.parse(x).BESAPI.Query.Result.Answer])
computersLf3 = lambda x: pd.DataFrame(
    [i.cdata.split(",") for i in untangle.parse(x).BESAPI.Query.Result.Answer])
示例#36
0
def validacoes_s2231_evtcessao(arquivo):

    from emensageriapro.mensageiro.functions.funcoes_validacoes import validar_campo
    import untangle

    xml = ler_arquivo(arquivo).replace("s:", "")
    doc = untangle.parse(xml)
    validacoes_lista = []
    xmlns = doc.eSocial['xmlns'].split('/')
    evtCessao = doc.eSocial.evtCessao
    #variaveis

    if 'ideEvento' in dir(evtCessao.ideEvento):
        for ideEvento in evtCessao.ideEvento:

            if 'indRetif' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.indRetif',
                                                 ideEvento.indRetif.cdata, 1,
                                                 u'1, 2')

            if 'nrRecibo' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.nrRecibo',
                                                 ideEvento.nrRecibo.cdata, 0,
                                                 u'None')

            if 'tpAmb' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.tpAmb',
                                                 ideEvento.tpAmb.cdata, 1,
                                                 u'1, 2')

            if 'procEmi' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.procEmi',
                                                 ideEvento.procEmi.cdata, 1,
                                                 u'1, 2, 3, 4, 5')

            if 'verProc' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.verProc',
                                                 ideEvento.verProc.cdata, 1,
                                                 u'None')

    if 'ideEmpregador' in dir(evtCessao.ideEmpregador):
        for ideEmpregador in evtCessao.ideEmpregador:

            if 'tpInsc' in dir(ideEmpregador):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEmpregador.tpInsc',
                                                 ideEmpregador.tpInsc.cdata, 1,
                                                 u'1, 2, 3, 4, 5, 6')

            if 'nrInsc' in dir(ideEmpregador):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEmpregador.nrInsc',
                                                 ideEmpregador.nrInsc.cdata, 1,
                                                 u'None')

    if 'ideVinculo' in dir(evtCessao.ideVinculo):
        for ideVinculo in evtCessao.ideVinculo:

            if 'cpfTrab' in dir(ideVinculo):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideVinculo.cpfTrab',
                                                 ideVinculo.cpfTrab.cdata, 1,
                                                 u'None')

            if 'nisTrab' in dir(ideVinculo):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideVinculo.nisTrab',
                                                 ideVinculo.nisTrab.cdata, 1,
                                                 u'None')

            if 'matricula' in dir(ideVinculo):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideVinculo.matricula',
                                                 ideVinculo.matricula.cdata, 1,
                                                 u'None')

    if 'infoCessao' in dir(evtCessao.infoCessao):
        for infoCessao in evtCessao.infoCessao:

            if 'iniCessao' in dir(infoCessao.iniCessao):
                for iniCessao in infoCessao.iniCessao:

                    if 'dtIniCessao' in dir(iniCessao):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'iniCessao.dtIniCessao',
                            iniCessao.dtIniCessao.cdata, 1, u'None')

                    if 'cnpjCess' in dir(iniCessao):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'iniCessao.cnpjCess',
                            iniCessao.cnpjCess.cdata, 1, u'None')

                    if 'infOnus' in dir(iniCessao):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'iniCessao.infOnus',
                            iniCessao.infOnus.cdata, 1, u'1, 2, 3, 4')

                    if 'indCessao' in dir(iniCessao):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'iniCessao.indCessao',
                            iniCessao.indCessao.cdata, 1, u'1, 2, 3')

                    if 'dscSituacao' in dir(iniCessao):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'iniCessao.dscSituacao',
                            iniCessao.dscSituacao.cdata, 0, u'None')

            if 'fimCessao' in dir(infoCessao.fimCessao):
                for fimCessao in infoCessao.fimCessao:

                    if 'dtTermCessao' in dir(fimCessao):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'fimCessao.dtTermCessao',
                            fimCessao.dtTermCessao.cdata, 1, u'None')
    return validacoes_lista
def validacoes_r1070_evttabprocesso(arquivo):
    from emensageriapro.mensageiro.functions.funcoes_validacoes import validar_campo
    import untangle
    xml = ler_arquivo(arquivo).replace("s:", "")
    doc = untangle.parse(xml)
    validacoes_lista = []
    xmlns = doc.Reinf['xmlns'].split('/')
    evtTabProcesso = doc.Reinf.evtTabProcesso

    if 'tpAmb' in dir(evtTabProcesso.ideEvento):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtTabProcesso.ideEvento.tpAmb',
                                         evtTabProcesso.ideEvento.tpAmb.cdata,
                                         1, '1;2')
    if 'procEmi' in dir(evtTabProcesso.ideEvento):
        validacoes_lista = validar_campo(
            validacoes_lista, 'evtTabProcesso.ideEvento.procEmi',
            evtTabProcesso.ideEvento.procEmi.cdata, 1, '1;2')
    if 'verProc' in dir(evtTabProcesso.ideEvento):
        validacoes_lista = validar_campo(
            validacoes_lista, 'evtTabProcesso.ideEvento.verProc',
            evtTabProcesso.ideEvento.verProc.cdata, 1, '')
    if 'tpInsc' in dir(evtTabProcesso.ideContri):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtTabProcesso.ideContri.tpInsc',
                                         evtTabProcesso.ideContri.tpInsc.cdata,
                                         1, '1;2')
    if 'nrInsc' in dir(evtTabProcesso.ideContri):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtTabProcesso.ideContri.nrInsc',
                                         evtTabProcesso.ideContri.nrInsc.cdata,
                                         1, '')
    if 'inclusao' in dir(evtTabProcesso.infoProcesso):
        for inclusao in evtTabProcesso.infoProcesso.inclusao:

            if 'tpProc' in dir(inclusao.ideProcesso):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'inclusao.ideProcesso.tpProc',
                    inclusao.ideProcesso.tpProc.cdata, 1, '1;2')
            if 'nrProc' in dir(inclusao.ideProcesso):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'inclusao.ideProcesso.nrProc',
                    inclusao.ideProcesso.nrProc.cdata, 1, '')
            if 'iniValid' in dir(inclusao.ideProcesso):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'inclusao.ideProcesso.iniValid',
                    inclusao.ideProcesso.iniValid.cdata, 1, '')
            if 'fimValid' in dir(inclusao.ideProcesso):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'inclusao.ideProcesso.fimValid',
                    inclusao.ideProcesso.fimValid.cdata, 0, '')
            if 'indAutoria' in dir(inclusao.ideProcesso):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'inclusao.ideProcesso.indAutoria',
                    inclusao.ideProcesso.indAutoria.cdata, 1, '1;2')

            if 'infoSusp' in dir(inclusao.ideProcesso):
                for infoSusp in inclusao.ideProcesso.infoSusp:

                    if 'codSusp' in dir(infoSusp):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'infoSusp.codSusp',
                            infoSusp.codSusp.cdata, 0, '')
                    if 'indSusp' in dir(infoSusp):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'infoSusp.indSusp',
                            infoSusp.indSusp.cdata, 1,
                            '01;02;03;04;05;08;09;10;11;12;13;90;92')
                    if 'dtDecisao' in dir(infoSusp):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'infoSusp.dtDecisao',
                            infoSusp.dtDecisao.cdata, 1, '')
                    if 'indDeposito' in dir(infoSusp):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'infoSusp.indDeposito',
                            infoSusp.indDeposito.cdata, 1, 'S;N')

            if 'dadosProcJud' in dir(inclusao.ideProcesso):
                for dadosProcJud in inclusao.ideProcesso.dadosProcJud:

                    if 'ufVara' in dir(dadosProcJud):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'dadosProcJud.ufVara',
                            dadosProcJud.ufVara.cdata, 1, '')
                    if 'codMunic' in dir(dadosProcJud):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'dadosProcJud.codMunic',
                            dadosProcJud.codMunic.cdata, 1, '')
                    if 'idVara' in dir(dadosProcJud):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'dadosProcJud.idVara',
                            dadosProcJud.idVara.cdata, 1, '')

    if 'alteracao' in dir(evtTabProcesso.infoProcesso):
        for alteracao in evtTabProcesso.infoProcesso.alteracao:

            if 'tpProc' in dir(alteracao.ideProcesso):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'alteracao.ideProcesso.tpProc',
                    alteracao.ideProcesso.tpProc.cdata, 1, '1;2')
            if 'nrProc' in dir(alteracao.ideProcesso):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'alteracao.ideProcesso.nrProc',
                    alteracao.ideProcesso.nrProc.cdata, 1, '')
            if 'iniValid' in dir(alteracao.ideProcesso):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'alteracao.ideProcesso.iniValid',
                    alteracao.ideProcesso.iniValid.cdata, 1, '')
            if 'fimValid' in dir(alteracao.ideProcesso):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'alteracao.ideProcesso.fimValid',
                    alteracao.ideProcesso.fimValid.cdata, 0, '')
            if 'indAutoria' in dir(alteracao.ideProcesso):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'alteracao.ideProcesso.indAutoria',
                    alteracao.ideProcesso.indAutoria.cdata, 1, '1;2')

            if 'infoSusp' in dir(alteracao.ideProcesso):
                for infoSusp in alteracao.ideProcesso.infoSusp:

                    if 'codSusp' in dir(infoSusp):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'infoSusp.codSusp',
                            infoSusp.codSusp.cdata, 0, '')
                    if 'indSusp' in dir(infoSusp):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'infoSusp.indSusp',
                            infoSusp.indSusp.cdata, 1,
                            '01;02;03;04;05;08;09;10;11;12;13;90;92')
                    if 'dtDecisao' in dir(infoSusp):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'infoSusp.dtDecisao',
                            infoSusp.dtDecisao.cdata, 1, '')
                    if 'indDeposito' in dir(infoSusp):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'infoSusp.indDeposito',
                            infoSusp.indDeposito.cdata, 1, 'S;N')

            if 'dadosProcJud' in dir(alteracao.ideProcesso):
                for dadosProcJud in alteracao.ideProcesso.dadosProcJud:

                    if 'ufVara' in dir(dadosProcJud):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'dadosProcJud.ufVara',
                            dadosProcJud.ufVara.cdata, 1, '')
                    if 'codMunic' in dir(dadosProcJud):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'dadosProcJud.codMunic',
                            dadosProcJud.codMunic.cdata, 1, '')
                    if 'idVara' in dir(dadosProcJud):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'dadosProcJud.idVara',
                            dadosProcJud.idVara.cdata, 1, '')

            if 'novaValidade' in dir(alteracao):
                for novaValidade in alteracao.novaValidade:

                    if 'iniValid' in dir(novaValidade):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'novaValidade.iniValid',
                            novaValidade.iniValid.cdata, 1, '')
                    if 'fimValid' in dir(novaValidade):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'novaValidade.fimValid',
                            novaValidade.fimValid.cdata, 0, '')

    if 'exclusao' in dir(evtTabProcesso.infoProcesso):
        for exclusao in evtTabProcesso.infoProcesso.exclusao:

            if 'tpProc' in dir(exclusao.ideProcesso):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'exclusao.ideProcesso.tpProc',
                    exclusao.ideProcesso.tpProc.cdata, 1, '1;2')
            if 'nrProc' in dir(exclusao.ideProcesso):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'exclusao.ideProcesso.nrProc',
                    exclusao.ideProcesso.nrProc.cdata, 1, '')
            if 'iniValid' in dir(exclusao.ideProcesso):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'exclusao.ideProcesso.iniValid',
                    exclusao.ideProcesso.iniValid.cdata, 1, '')
            if 'fimValid' in dir(exclusao.ideProcesso):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'exclusao.ideProcesso.fimValid',
                    exclusao.ideProcesso.fimValid.cdata, 0, '')

    return validacoes_lista
示例#38
0
import random
import untangle
import os

r34text = '-fur+-scat*+-darling_in_the_franxx+-furry+-dragon+-guro+-animal_penis+-animal+-wolf+-fox+-webm+-my_little_pony+-monster*+-3d+-animal*+-ant+-insects+-mammal+-horse+-blotch+-deer+-real*+-shit+-everlasting_summer+-copro*+-wtf+-censored+' + msg.replace(
    ' ', '+')
r34text = msg.replace(' ', '+')
r34text = '-fur+-scat*+-furry+-dragon+-guro+-animal_penis+-animal+-wolf+-fox+-webm+-my_little_pony+-monster*+-animal*+-ant+-insects+-mammal+-horse+-blotch+-deer+-real*+-shit+-everlasting_summer+-copro*+-wtf+-censored+' + msg.replace(
    ' ', '+')
outMsg['message'] = ''
outMsg['attachment'] = ''
try:
    resp = untangle.parse(
        net_send(
            'http://0s.oj2wyzjtgqxhq6dy.cmle.ru/index.php?page=dapi&s=post&limit=10000&q=index&tags='
            + str(r34text), {}, 1)).posts.post
    if not os.path.exists('34'):
        os.mkdir('34')
    indexs = list(range(len(resp)))
    random.shuffle(indexs)
    for i in indexs[0:4]:
        #outMsg['message']+=str(i+1)+'/'+str(len(resp))+'\n'+str(resp[i]['tags'])+'\n\n'
        net_download(str(resp[i]['file_url']),
                     '34/' + str(msg_id) + '_' + str(i) + '.jpg', '')
        outMsg['attachment'] += vk_upload(
            '34/' + str(msg_id) + '_' + str(i) + '.jpg', outMsg['peer_id'],
            'photo') + ','
except Exception as e:
    outMsg['message'] += e
示例#39
0
文件: load.py 项目: rreche/ffai
def get_rule_set(name, debug=False, all_rules=True):
    """
    :param name: The filename of the .xml file to load in data/rules/
    :param debug:
    :param all_rules: If False, only a small set of the rules are loaded.
    :return: A ruleset loaded from .xml.
    """

    path = get_data_path('rules/' + name)

    if debug:
        print("Loading rules at " + path)
    obj = untangle.parse(path)

    ruleset = RuleSet(os.path.split(path)[1].split(".")[0])

    if debug:
        print("Parsing races")
    for r in obj.rules.rosters.roster:
        if debug:
            print("-- Parsing " + str(r.name.cdata))
        race = Race(r.name.cdata, [], (int)(r.rerollValue.cdata),
                    (bool)(r.apothecary.cdata), (bool)(r.stakes.cdata))
        for p in r.positions.position:
            position = Role(p.title.cdata, [race.name], (int)(p.ma.cdata),
                            (int)(p.st.cdata), (int)(p.ag.cdata),
                            (int)(p.av.cdata), [], (int)(p.cost.cdata),
                            parse_sc(p.normal.cdata), parse_sc(p.double.cdata))
            if len(p.skills) > 0:
                for skill_name in p.skills.skill:
                    position.skills.append(parse_enum(Skill, skill_name.cdata))
            race.roles.append(position)
        ruleset.races.append(race)

    if all_rules:
        if debug:
            print("Parsing star players")
        for star in obj.rules.stars.star:
            if debug:
                print("-- Parsing " + str(star.name.cdata))
            role = Role(star.name.cdata, [], (int)(star.ma.cdata),
                        (int)(star.st.cdata), (int)(star.ag.cdata),
                        (int)(star.av.cdata), [], (int)(star.cost.cdata),
                        (bool)(star.feeder.cdata), [], [],
                        star_player=True)
            if len(star.skills) == 0:
                continue
            for skill_name in star.skills.skill:
                role.skills.append(parse_enum(Skill, skill_name.cdata))
            for race_name in star.races.race:
                role.races.append(race_name.cdata)
            ruleset.star_players.append(role)

        if debug:
            print("Parsing inducements")
        for i in obj.rules.inducements.inducement:
            if debug:
                print("-- Parsing " + str(i["name"]))
            reduced = 0 if not "reduced" in i else i["reduced"]
            inducement = Inducement(i["name"], (int)(i.cdata), (int)(i["max"]),
                                    reduced=reduced)
            ruleset.inducements.append(inducement)

        if debug:
            print("Parsing SPP actions")
        for a in obj.rules.spp.action:
            if debug:
                print("-- Parsing " + str(a["name"]))
            ruleset.spp_actions[a["name"]] = (int)(a.cdata)

        if debug:
            print("Parsing SPP levels")
        for l in obj.rules.spp.level:
            if debug:
                print("-- Parsing " + str(l["name"]))
            ruleset.spp_levels[l["name"]] = (int)(l.cdata)

        if debug:
            print("Parsing improvements")
        for imp in obj.rules.improvements.improvement:
            if debug:
                print("-- Parsing " + str(imp["name"]))
            ruleset.improvements[imp["name"]] = (int)(imp.cdata)

        if debug:
            print("Parsing spiralling expenses")
        ruleset.se_start = (int)(obj.rules.spirallingExpenses.start.cdata)
        ruleset.se_interval = (int)(
            obj.rules.spirallingExpenses.interval.cdata)
        ruleset.se_pace = (int)(obj.rules.spirallingExpenses.pace.cdata)

    if debug:
        print("Done loading rules")

    return ruleset
示例#40
0
def validacoes_r9002_evtret(arquivo):

    from emensageriapro.mensageiro.functions.funcoes_validacoes import validar_campo
    import untangle

    xml = ler_arquivo(arquivo).replace("s:", "")
    doc = untangle.parse(xml)
    validacoes_lista = []
    xmlns = doc.Reinf['xmlns'].split('/')
    evtRet = doc.Reinf.evtRet
    #variaveis

    if 'ideEvento' in dir(evtRet.ideEvento):
        for ideEvento in evtRet.ideEvento:

            if 'perRef' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.perRef',
                                                 ideEvento.perRef.cdata, 1,
                                                 u'None')

    if 'ideContri' in dir(evtRet.ideContri):
        for ideContri in evtRet.ideContri:

            if 'tpInsc' in dir(ideContri):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideContri.tpInsc',
                                                 ideContri.tpInsc.cdata, 1,
                                                 u'1, 2')

            if 'nrInsc' in dir(ideContri):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideContri.nrInsc',
                                                 ideContri.nrInsc.cdata, 1,
                                                 u'None')

    if 'ideRecRetorno' in dir(evtRet.ideRecRetorno):
        for ideRecRetorno in evtRet.ideRecRetorno:

            if 'ideStatus' in dir(ideRecRetorno.ideStatus):
                for ideStatus in ideRecRetorno.ideStatus:

                    if 'cdRetorno' in dir(ideStatus):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'ideStatus.cdRetorno',
                            ideStatus.cdRetorno.cdata, 1, u'0, 1, 2')

                    if 'descRetorno' in dir(ideStatus):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'ideStatus.descRetorno',
                            ideStatus.descRetorno.cdata, 1, u'None')

                    if 'regOcorrs' in dir(ideStatus.regOcorrs):
                        for regOcorrs in ideStatus.regOcorrs:

                            if 'tpOcorr' in dir(regOcorrs):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'regOcorrs.tpOcorr',
                                    regOcorrs.tpOcorr.cdata, 1, u'None')

                            if 'localErroAviso' in dir(regOcorrs):
                                validacoes_lista = validar_campo(
                                    validacoes_lista,
                                    'regOcorrs.localErroAviso',
                                    regOcorrs.localErroAviso.cdata, 1, u'None')

                            if 'codResp' in dir(regOcorrs):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'regOcorrs.codResp',
                                    regOcorrs.codResp.cdata, 1, u'None')

                            if 'dscResp' in dir(regOcorrs):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'regOcorrs.dscResp',
                                    regOcorrs.dscResp.cdata, 1, u'None')

    if 'infoRecEv' in dir(evtRet.infoRecEv):
        for infoRecEv in evtRet.infoRecEv:

            if 'nrProtEntr' in dir(infoRecEv):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'infoRecEv.nrProtEntr',
                                                 infoRecEv.nrProtEntr.cdata, 0,
                                                 u'None')

            if 'dhProcess' in dir(infoRecEv):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'infoRecEv.dhProcess',
                                                 infoRecEv.dhProcess.cdata, 1,
                                                 u'None')

            if 'tpEv' in dir(infoRecEv):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'infoRecEv.tpEv',
                                                 infoRecEv.tpEv.cdata, 1,
                                                 u'None')

            if 'idEv' in dir(infoRecEv):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'infoRecEv.idEv',
                                                 infoRecEv.idEv.cdata, 1,
                                                 u'None')

            if 'hash' in dir(infoRecEv):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'infoRecEv.hash',
                                                 infoRecEv.hash.cdata, 1,
                                                 u'None')

    if 'infoTotal' in dir(evtRet.infoTotal):
        for infoTotal in evtRet.infoTotal:

            if 'nrRecArqBase' in dir(infoTotal):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'infoTotal.nrRecArqBase',
                                                 infoTotal.nrRecArqBase.cdata,
                                                 0, u'None')

            if 'ideEstab' in dir(infoTotal.ideEstab):
                for ideEstab in infoTotal.ideEstab:

                    if 'tpInsc' in dir(ideEstab):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'ideEstab.tpInsc',
                            ideEstab.tpInsc.cdata, 1, u'1, 2')

                    if 'nrInsc' in dir(ideEstab):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'ideEstab.nrInsc',
                            ideEstab.nrInsc.cdata, 1, u'None')

                    if 'totApurMen' in dir(ideEstab.totApurMen):
                        for totApurMen in ideEstab.totApurMen:

                            if 'CRMen' in dir(totApurMen):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'totApurMen.CRMen',
                                    totApurMen.CRMen.cdata, 1, u'None')

                            if 'vlrBaseCRMen' in dir(totApurMen):
                                validacoes_lista = validar_campo(
                                    validacoes_lista,
                                    'totApurMen.vlrBaseCRMen',
                                    totApurMen.vlrBaseCRMen.cdata, 1, u'None')

                            if 'vlrCRMen' in dir(totApurMen):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'totApurMen.vlrCRMen',
                                    totApurMen.vlrCRMen.cdata, 1, u'None')

                            if 'vlrBaseCRMenSusp' in dir(totApurMen):
                                validacoes_lista = validar_campo(
                                    validacoes_lista,
                                    'totApurMen.vlrBaseCRMenSusp',
                                    totApurMen.vlrBaseCRMenSusp.cdata, 0,
                                    u'None')

                            if 'vlrCRMenSusp' in dir(totApurMen):
                                validacoes_lista = validar_campo(
                                    validacoes_lista,
                                    'totApurMen.vlrCRMenSusp',
                                    totApurMen.vlrCRMenSusp.cdata, 0, u'None')

                    if 'totApurQui' in dir(ideEstab.totApurQui):
                        for totApurQui in ideEstab.totApurQui:

                            if 'perApurQui' in dir(totApurQui):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'totApurQui.perApurQui',
                                    totApurQui.perApurQui.cdata, 1, u'1, 2')

                            if 'CRQui' in dir(totApurQui):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'totApurQui.CRQui',
                                    totApurQui.CRQui.cdata, 1, u'None')

                            if 'vlrBaseCRQui' in dir(totApurQui):
                                validacoes_lista = validar_campo(
                                    validacoes_lista,
                                    'totApurQui.vlrBaseCRQui',
                                    totApurQui.vlrBaseCRQui.cdata, 1, u'None')

                            if 'vlrCRQui' in dir(totApurQui):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'totApurQui.vlrCRQui',
                                    totApurQui.vlrCRQui.cdata, 1, u'None')

                            if 'vlrBaseCRQuiSusp' in dir(totApurQui):
                                validacoes_lista = validar_campo(
                                    validacoes_lista,
                                    'totApurQui.vlrBaseCRQuiSusp',
                                    totApurQui.vlrBaseCRQuiSusp.cdata, 0,
                                    u'None')

                            if 'vlrCRQuiSusp' in dir(totApurQui):
                                validacoes_lista = validar_campo(
                                    validacoes_lista,
                                    'totApurQui.vlrCRQuiSusp',
                                    totApurQui.vlrCRQuiSusp.cdata, 0, u'None')

                    if 'totApurDec' in dir(ideEstab.totApurDec):
                        for totApurDec in ideEstab.totApurDec:

                            if 'perApurDec' in dir(totApurDec):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'totApurDec.perApurDec',
                                    totApurDec.perApurDec.cdata, 1, u'1, 2, 3')

                            if 'CRDec' in dir(totApurDec):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'totApurDec.CRDec',
                                    totApurDec.CRDec.cdata, 1, u'None')

                            if 'vlrBaseCRDec' in dir(totApurDec):
                                validacoes_lista = validar_campo(
                                    validacoes_lista,
                                    'totApurDec.vlrBaseCRDec',
                                    totApurDec.vlrBaseCRDec.cdata, 1, u'None')

                            if 'vlrCRDec' in dir(totApurDec):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'totApurDec.vlrCRDec',
                                    totApurDec.vlrCRDec.cdata, 1, u'None')

                            if 'vlrBaseCRDecSusp' in dir(totApurDec):
                                validacoes_lista = validar_campo(
                                    validacoes_lista,
                                    'totApurDec.vlrBaseCRDecSusp',
                                    totApurDec.vlrBaseCRDecSusp.cdata, 0,
                                    u'None')

                            if 'vlrCRDecSusp' in dir(totApurDec):
                                validacoes_lista = validar_campo(
                                    validacoes_lista,
                                    'totApurDec.vlrCRDecSusp',
                                    totApurDec.vlrCRDecSusp.cdata, 0, u'None')

                    if 'totApurSem' in dir(ideEstab.totApurSem):
                        for totApurSem in ideEstab.totApurSem:

                            if 'perApurSem' in dir(totApurSem):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'totApurSem.perApurSem',
                                    totApurSem.perApurSem.cdata, 1,
                                    u'1, 2, 3, 4')

                            if 'CRSem' in dir(totApurSem):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'totApurSem.CRSem',
                                    totApurSem.CRSem.cdata, 1, u'None')

                            if 'vlrBaseCRSem' in dir(totApurSem):
                                validacoes_lista = validar_campo(
                                    validacoes_lista,
                                    'totApurSem.vlrBaseCRSem',
                                    totApurSem.vlrBaseCRSem.cdata, 1, u'None')

                            if 'vlrCRSem' in dir(totApurSem):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'totApurSem.vlrCRSem',
                                    totApurSem.vlrCRSem.cdata, 1, u'None')

                            if 'vlrBaseCRSemSusp' in dir(totApurSem):
                                validacoes_lista = validar_campo(
                                    validacoes_lista,
                                    'totApurSem.vlrBaseCRSemSusp',
                                    totApurSem.vlrBaseCRSemSusp.cdata, 0,
                                    u'None')

                            if 'vlrCRSemSusp' in dir(totApurSem):
                                validacoes_lista = validar_campo(
                                    validacoes_lista,
                                    'totApurSem.vlrCRSemSusp',
                                    totApurSem.vlrCRSemSusp.cdata, 0, u'None')

                    if 'totApurDia' in dir(ideEstab.totApurDia):
                        for totApurDia in ideEstab.totApurDia:

                            if 'perApurDia' in dir(totApurDia):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'totApurDia.perApurDia',
                                    totApurDia.perApurDia.cdata, 1, u'None')

                            if 'CRDia' in dir(totApurDia):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'totApurDia.CRDia',
                                    totApurDia.CRDia.cdata, 1, u'None')

                            if 'vlrBaseCRDia' in dir(totApurDia):
                                validacoes_lista = validar_campo(
                                    validacoes_lista,
                                    'totApurDia.vlrBaseCRDia',
                                    totApurDia.vlrBaseCRDia.cdata, 1, u'None')

                            if 'vlrCRDia' in dir(totApurDia):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'totApurDia.vlrCRDia',
                                    totApurDia.vlrCRDia.cdata, 1, u'None')

                            if 'vlrBaseCRDiaSusp' in dir(totApurDia):
                                validacoes_lista = validar_campo(
                                    validacoes_lista,
                                    'totApurDia.vlrBaseCRDiaSusp',
                                    totApurDia.vlrBaseCRDiaSusp.cdata, 0,
                                    u'None')

                            if 'vlrCRDiaSusp' in dir(totApurDia):
                                validacoes_lista = validar_campo(
                                    validacoes_lista,
                                    'totApurDia.vlrCRDiaSusp',
                                    totApurDia.vlrCRDiaSusp.cdata, 0, u'None')
    return validacoes_lista
示例#41
0
        for svr in dictSvrs[key]:
            dbCN = getDbConn(svr, grp["id"])
            dbConns.append(dbCN)

    result = {}
    result["datasource.connectionGroups"] = connGrps
    result["datasource.connections"] = dbConns

    return result


#-- End of getDictSvrConns

# Main program

regsvrFilename = 'sample.regsvr'
regsvrData = untangle.parse(regsvrFilename)
docs = regsvrData.model.xs_bufferSchema.definitions.document.data.xs_schema.RegisteredServers_bufferData.instances

dictDbConns = getDictDbConns(docs)
dictForSqlOpsConf = convToSqlOpsStudioJSON(dictDbConns)
jsonStr = json.dumps(dictForSqlOpsConf, indent=4)
print(jsonStr)

# output to a file
with open("SqlOpsStudio.json", "w") as text_file:
    text_file.write(jsonStr)

print("\n--- Successfully Completed ---\n")
示例#42
0
def validacoes_s2220_evtmonit(arquivo):

    from emensageriapro.mensageiro.functions.funcoes_validacoes import validar_campo
    import untangle

    xml = ler_arquivo(arquivo).replace("s:", "")
    doc = untangle.parse(xml)
    validacoes_lista = []
    xmlns = doc.eSocial['xmlns'].split('/')
    evtMonit = doc.eSocial.evtMonit
    #variaveis

    if 'ideEvento' in dir(evtMonit.ideEvento):
        for ideEvento in evtMonit.ideEvento:

            if 'indRetif' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.indRetif',
                                                 ideEvento.indRetif.cdata, 1,
                                                 u'1, 2')

            if 'nrRecibo' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.nrRecibo',
                                                 ideEvento.nrRecibo.cdata, 0,
                                                 u'None')

            if 'tpAmb' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.tpAmb',
                                                 ideEvento.tpAmb.cdata, 1,
                                                 u'1, 2')

            if 'procEmi' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.procEmi',
                                                 ideEvento.procEmi.cdata, 1,
                                                 u'1, 2, 3, 4, 5')

            if 'verProc' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.verProc',
                                                 ideEvento.verProc.cdata, 1,
                                                 u'None')

    if 'ideEmpregador' in dir(evtMonit.ideEmpregador):
        for ideEmpregador in evtMonit.ideEmpregador:

            if 'tpInsc' in dir(ideEmpregador):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEmpregador.tpInsc',
                                                 ideEmpregador.tpInsc.cdata, 1,
                                                 u'1, 2, 3, 4, 5, 6')

            if 'nrInsc' in dir(ideEmpregador):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEmpregador.nrInsc',
                                                 ideEmpregador.nrInsc.cdata, 1,
                                                 u'None')

    if 'ideVinculo' in dir(evtMonit.ideVinculo):
        for ideVinculo in evtMonit.ideVinculo:

            if 'cpfTrab' in dir(ideVinculo):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideVinculo.cpfTrab',
                                                 ideVinculo.cpfTrab.cdata, 1,
                                                 u'None')

            if 'nisTrab' in dir(ideVinculo):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideVinculo.nisTrab',
                                                 ideVinculo.nisTrab.cdata, 0,
                                                 u'None')

            if 'matricula' in dir(ideVinculo):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideVinculo.matricula',
                                                 ideVinculo.matricula.cdata, 0,
                                                 u'None')

            if 'codCateg' in dir(ideVinculo):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'ideVinculo.codCateg',
                    ideVinculo.codCateg.cdata, 0,
                    u'101, 102, 103, 104, 105, 106, 107, 108, 111, 201, 202, 301, 302, 303, 305, 306, 307, 308, 309, 401, 410, 701, 711, 712, 721, 722, 723, 731, 734, 738, 741, 751, 761, 771, 781, 901, 902, 903, 904, 905'
                )

    if 'exMedOcup' in dir(evtMonit.exMedOcup):
        for exMedOcup in evtMonit.exMedOcup:

            if 'tpExameOcup' in dir(exMedOcup):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'exMedOcup.tpExameOcup',
                                                 exMedOcup.tpExameOcup.cdata,
                                                 1, u'0, 1, 2, 3, 4, 9')

            if 'aso' in dir(exMedOcup.aso):
                for aso in exMedOcup.aso:

                    if 'dtAso' in dir(aso):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'aso.dtAso', aso.dtAso.cdata, 1,
                            u'None')

                    if 'tpAso' in dir(aso):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'aso.tpAso', aso.tpAso.cdata, 1,
                            u'0, 1, 2, 3, 4, 8')

                    if 'resAso' in dir(aso):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'aso.resAso', aso.resAso.cdata,
                            1, u'1, 2')

                    if 'exame' in dir(aso.exame):
                        for exame in aso.exame:

                            if 'dtExm' in dir(exame):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'exame.dtExm',
                                    exame.dtExm.cdata, 1, u'None')

                            if 'procRealizado' in dir(exame):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'exame.procRealizado',
                                    exame.procRealizado.cdata, 1,
                                    u'CÓD., 0001, 0002, 0003, 0004, 0005, 0006, 0007, 0008, 0009, 0010, 1398, 1399, 0011, 0012, 0013, 0014, 0015, 0016, 0017, 0018, 0019, 0020, 0021, 0022, 0023, 0024, 0025, 0026, 0027, 0028, 0029, 0030, 0031, 0032, 0033, 0034, 0035, 0036, 0037, 0038, 0039, 0040, 0041, 0042, 0043, 0044, 0045, 0046, 0047, 0048, 0049, 0050, 0051, 0052, 0053, 0054, 0055, 0056, 0057, 0058, 0059, 0060, 0061, 0062, 0063, 0064, 0065, 0066, 0067, 0068, 0069, 0070, 0071, 0072, 0073, 0074, 0075, 0076, 0077, 0078, 0079, 0080, 0081, 0082, 0083, 0084, 0085, 0086, 0087, 0088, 0089, 0090, 0091, 0092, 0093, 0094, 0095, 0096, 0097, 0098, 0099, 0100, 0101, 0102, 0103, 0104, 0105, 0106, 0107, 0108, 0109, 0110, 0111, 0112, 0113, 0114, 0115, 0116, 0117, 0118, 0119, 0120, 0121, 0122, 0123, 0124, 0125, 0126, 0127, 0128, 0129, 0130, 0131, 0132, 0133, 0134, 0135, 0136, 0137, 0138, 1400, 0139, 0140, 0141, 1401, 0142, 0143, 0144, 0145, 0146, 0147, 0148, 0149, 0150, 0151, 0152, 0153, 0154, 0155, 0156, 0157, 0158, 0159, 0160, 0161, 0162, 0163, 0164, 0165, 0166, 0167, 0168, 0169, 0170, 0171, 0172, 0173, 0174, 0175, 0176, 0177, 0178, 0179, 0180, 0181, 0182, 0183, 0184, 0185, 0186, 0187, 0188, 0189, 0190, 0191, 0192, 0193, 0194, 0195, 0196, 0197, 0198, 0199, 0200, 0201, 0202, 0203, 0204, 0205, 0206, 0207, 0208, 0209, 0210, 0211, 0212, 0213, 0214, 0215, 0216, 0217, 0218, 1402, 0219, 0220, 0221, 0222, 0223, 0224, 0225, 0226, 0227, 0228, 0229, 0230, 0231, 0232, 0233, 0234, 0235, 0236, 0237, 0238, 0239, 0240, 0241, 0242, 0243, 0244, 0245, 0246, 0247, 0248, 0249, 0250, 0251, 0252, 0253, 0254, 0255, 0256, 0257, 0258, 0259, 0260, 0261, 0262, 0263, 0264, 0265, 0266, 0267, 0268, 0270, 0271, 0272, 0273, 0274, 0275, 0276, 0277, 0278, 0279, 0280, 0281, 0282, 0283, 0284, 0285, 0286, 0287, 0288, 0289, 0290, 0291, 0292, 0293, 0294, 0295, 0296, 0297, 0298, 0299, 0300, 0301, 0302, 0303, 0304, 0305, 0306, 0307, 0308, 0309, 0310, 0311, 0312, 0313, 0314, 0315, 0316, 0317, 0318, 0319, 0320, 0321, 0322, 0323, 0324, 0325, 0326, 0327, 0328, 0329, 0330, 0331, 0332, 0333, 0334, 0335, 0336, 0337, 0338, 0339, 0340, 0341, 0342, 0343, 0344, 0345, 0346, 0347, 0348, 0349, 0350, 0351, 0352, 0353, 0354, 0355, 0356, 0357, 0358, 0359, 0360, 0361, 0362, 0363, 0364, 0365, 0366, 0367, 0368, 0369, 0370, 0371, 0372, 0373, 0374, 0375, 0376, 0377, 0378, 0379, 0380, 0381, 0382, 0383, 0384, 0385, 0386, 0387, 0388, 0389, 0390, 0391, 0392, 0393, 0394, 0395, 0396, 0397, 0398, 0399, 0400, 0401, 0402, 0403, 0404, 0405, 0406, 0407, 0408, 0409, 0410, 0411, 0412, 0413, 0414, 0415, 0416, 0417, 0418, 0419, 0420, 0421, 0422, 0423, 0424, 0425, 0426, 0427, 0428, 0429, 0430, 0431, 0432, 0433, 0434, 0435, 0436, 0437, 0438, 0439, 0440, 0441, 0442, 0443, 0444, 0445, 0446, 0447, 0448, 0449, 0450, 0451, 0452, 0453, 0454, 0455, 0456, 0457, 0458, 0459, 0460, 0461, 0462, 0463, 0464, 0465, 0466, 0467, 0468, 0469, 0470, 0471, 0472, 0473, 0474, 0475, 0476, 0477, 1403, 0478, 0479, 0480, 0481, 0482, 0483, 0484, 0485, 0486, 0487, 0488, 0489, 0490, 0491, 0492, 0493, 0494, 0495, 0496, 0497, 0498, 0499, 0500, 0501, 0502, 0503, 0504, 0505, 0506, 0507, 0508, 0509, 0510, 0511, 0512, 0513, 0514, 0515, 0516, 0517, 0518, 0519, 0520, 0521, 0522, 0523, 0524, 0525, 0526, 0527, 0528, 0529, 0530, 0531, 0532, 0533, 0534, 0535, 0536, 0537, 0538, 0539, 0540, 0541, 0542, 0543, 0544, 0545, 0546, 0547, 0548, 0549, 0550, 0551, 0552, 0553, 0554, 0555, 0556, 0557, 0558, 0559, 0560, 0561, 0562, 0563, 0564, 0565, 0566, 0567, 0568, 0569, 0570, 0571, 0572, 0573, 0574, 0575, 0576, 0577, 0578, 0579, 0580, 0581, 0582, 0583, 0584, 0585, 0586, 0587, 0588, 0589, 0590, 0591, 0592, 0593, 0594, 0595, 0597, 0598, 0599, 0600, 0601, 0602, 0603, 0604, 0605, 0606, 0607, 0608, 0609, 0610, 0611, 0612, 0613, 0614, 0615, 0616, 0617, 0618, 0619, 0620, 0621, 0622, 0623, 0624, 0625, 0626, 0627, 0628, 0629, 0630, 0631, 0632, 0633, 0634, 0635, 0636, 0637, 0638, 0639, 1404, 0640, 0641, 0642, 0643, 0644, 0645, 0646, 0647, 0648, 0649, 0650, 0651, 0652, 0653, 0654, 0655, 0656, 0657, 0658, 0659, 0660, 0661, 0662, 0663, 0664, 0665, 0666, 0667, 0668, 0669, 0670, 0671, 0672, 0673, 0674, 0675, 0676, 0677, 0678, 0679, 0680, 0681, 0682, 0683, 0684, 0685, 0686, 0687, 0688, 0689, 0690, 0691, 0692, 0693, 0694, 0695, 0696, 0697, 0698, 0699, 0700, 0701, 0702, 0703, 1405, 0704, 0705, 0706, 0707, 0708, 0709, 0710, 0711, 0712, 0713, 0714, 0715, 0716, 0717, 0718, 0719, 0720, 0721, 0722, 0723, 0724, 0725, 0726, 0727, 0728, 0729, 0730, 0731, 0732, 0733, 0734, 0735, 0736, 0737, 0738, 0739, 0740, 0741, 0742, 0743, 0744, 0745, 0746, 0747, 0748, 0749, 0750, 0751, 0752, 0753, 0754, 0755, 0756, 0757, 0758, 0759, 0760, 0761, 0762, 0763, 0764, 0765, 0766, 0767, 0768, 0769, 0770, 0771, 0772, 0773, 0774, 0775, 0776, 0777, 0778, 0779, 0780, 0781, 0782, 0783, 0784, 0785, 0786, 0787, 0788, 0789, 0790, 0791, 0792, 0793, 0794, 0795, 0796, 0797, 0798, 0799, 1406, 0800, 0801, 0802, 0803, 0804, 0806, 0807, 0808, 0809, 0810, 0811, 0812, 0813, 0814, 0815, 0816, 0817, 0818, 0819, 0820, 0821, 0822, 0823, 0824, 0825, 0826, 0827, 0828, 0829, 0830, 0831, 0832, 0833, 0834, 0835, 0836, 0837, 0838, 0839, 0840, 0841, 0842, 0843, 0844, 0845, 0846, 0847, 0848, 0849, 0850, 0851, 0852, 0853, 0854, 0855, 0856, 0857, 0858, 0859, 0860, 0861, 0862, 0863, 0864, 0865, 0866, 0867, 0868, 0869, 0870, 0871, 0872, 0873, 0874, 0875, 0876, 0877, 0878, 1407, 1408, 1409, 1410, 1411, 0879, 0880, 0881, 0882, 0883, 0884, 0885, 0886, 0887, 0888, 0889, 0890, 1412, 0891, 0892, 0893, 0894, 0895, 0896, 0897, 0898, 0899, 0900, 0901, 0902, 0903, 0904, 0905, 0906, 0907, 0908, 0909, 0910, 0911, 0912, 0913, 0914, 0915, 0916, 0917, 0918, 0919, 0920, 0921, 0922, 0923, 0924, 0925, 0926, 0927, 0928, 0929, 0930, 0931, 0932, 0933, 0934, 0935, 0936, 0937, 0938, 0939, 0940, 0941, 0942, 0943, 0944, 0945, 0946, 0947, 0948, 0949, 0950, 0951, 0952, 0953, 0954, 0955, 0956, 0957, 0958, 0959, 0960, 0961, 0962, 0963, 0964, 0965, 0966, 0967, 0968, 0969, 0970, 0971, 0972, 0973, 0974, 0975, 0976, 0977, 1413, 0978, 0979, 0980, 0981, 0982, 0983, 0984, 0985, 0986, 0987, 0988, 0989, 0990, 0991, 0992, 0993, 0994, 0995, 0996, 0997, 0998, 0999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1414, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1415, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1416, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1417, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1418, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 9999'
                                )

                            if 'obsProc' in dir(exame):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'exame.obsProc',
                                    exame.obsProc.cdata, 0, u'None')

                            if 'interprExm' in dir(exame):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'exame.interprExm',
                                    exame.interprExm.cdata, 1, u'1, 2, 3')

                            if 'ordExame' in dir(exame):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'exame.ordExame',
                                    exame.ordExame.cdata, 1, u'1, 2')

                            if 'dtIniMonit' in dir(exame):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'exame.dtIniMonit',
                                    exame.dtIniMonit.cdata, 1, u'None')

                            if 'dtFimMonit' in dir(exame):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'exame.dtFimMonit',
                                    exame.dtFimMonit.cdata, 0, u'None')

                            if 'indResult' in dir(exame):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'exame.indResult',
                                    exame.indResult.cdata, 0, u'1, 2, 3, 4')

                    if 'medico' in dir(aso.medico):
                        for medico in aso.medico:

                            if 'cpfMed' in dir(medico):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'medico.cpfMed',
                                    medico.cpfMed.cdata, 0, u'None')

                            if 'nisMed' in dir(medico):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'medico.nisMed',
                                    medico.nisMed.cdata, 0, u'None')

                            if 'nmMed' in dir(medico):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'medico.nmMed',
                                    medico.nmMed.cdata, 1, u'None')

                            if 'nrCRM' in dir(medico):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'medico.nrCRM',
                                    medico.nrCRM.cdata, 1, u'None')

                            if 'ufCRM' in dir(medico):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'medico.ufCRM',
                                    medico.ufCRM.cdata, 1, u'None')

            if 'respMonit' in dir(exMedOcup.respMonit):
                for respMonit in exMedOcup.respMonit:

                    if 'nisResp' in dir(respMonit):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'respMonit.nisResp',
                            respMonit.nisResp.cdata, 1, u'None')

                    if 'nrConsClasse' in dir(respMonit):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'respMonit.nrConsClasse',
                            respMonit.nrConsClasse.cdata, 1, u'None')

                    if 'ufConsClasse' in dir(respMonit):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'respMonit.ufConsClasse',
                            respMonit.ufConsClasse.cdata, 0, u'None')

                    if 'cpfResp' in dir(respMonit):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'respMonit.cpfResp',
                            respMonit.cpfResp.cdata, 0, u'None')

                    if 'nmResp' in dir(respMonit):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'respMonit.nmResp',
                            respMonit.nmResp.cdata, 1, u'None')

                    if 'nrCRM' in dir(respMonit):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'respMonit.nrCRM',
                            respMonit.nrCRM.cdata, 1, u'None')

                    if 'ufCRM' in dir(respMonit):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'respMonit.ufCRM',
                            respMonit.ufCRM.cdata, 1, u'None')
    return validacoes_lista
示例#43
0
def validacoes_s1200_evtremun(arquivo):
    from emensageriapro.mensageiro.functions.funcoes_validacoes import validar_campo
    import untangle
    xml = ler_arquivo(arquivo).replace("s:", "")
    doc = untangle.parse(xml)
    validacoes_lista = []
    xmlns = doc.eSocial['xmlns'].split('/')
    evtRemun = doc.eSocial.evtRemun

    if 'indRetif' in dir(evtRemun.ideEvento):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtRemun.ideEvento.indRetif',
                                         evtRemun.ideEvento.indRetif.cdata, 1,
                                         '1;2')
    if 'nrRecibo' in dir(evtRemun.ideEvento):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtRemun.ideEvento.nrRecibo',
                                         evtRemun.ideEvento.nrRecibo.cdata, 0,
                                         '')
    if 'indApuracao' in dir(evtRemun.ideEvento):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtRemun.ideEvento.indApuracao',
                                         evtRemun.ideEvento.indApuracao.cdata,
                                         1, '1;2')
    if 'perApur' in dir(evtRemun.ideEvento):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtRemun.ideEvento.perApur',
                                         evtRemun.ideEvento.perApur.cdata, 1,
                                         '')
    if 'tpAmb' in dir(evtRemun.ideEvento):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtRemun.ideEvento.tpAmb',
                                         evtRemun.ideEvento.tpAmb.cdata, 1,
                                         '1;2')
    if 'procEmi' in dir(evtRemun.ideEvento):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtRemun.ideEvento.procEmi',
                                         evtRemun.ideEvento.procEmi.cdata, 1,
                                         '1;2;3;4;5')
    if 'verProc' in dir(evtRemun.ideEvento):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtRemun.ideEvento.verProc',
                                         evtRemun.ideEvento.verProc.cdata, 1,
                                         '')
    if 'tpInsc' in dir(evtRemun.ideEmpregador):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtRemun.ideEmpregador.tpInsc',
                                         evtRemun.ideEmpregador.tpInsc.cdata,
                                         1, '1;2;3;4')
    if 'nrInsc' in dir(evtRemun.ideEmpregador):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtRemun.ideEmpregador.nrInsc',
                                         evtRemun.ideEmpregador.nrInsc.cdata,
                                         1, '')
    if 'cpfTrab' in dir(evtRemun.ideTrabalhador):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtRemun.ideTrabalhador.cpfTrab',
                                         evtRemun.ideTrabalhador.cpfTrab.cdata,
                                         1, '')
    if 'nisTrab' in dir(evtRemun.ideTrabalhador):
        validacoes_lista = validar_campo(validacoes_lista,
                                         'evtRemun.ideTrabalhador.nisTrab',
                                         evtRemun.ideTrabalhador.nisTrab.cdata,
                                         0, '')
    if 'infoMV' in dir(evtRemun.ideTrabalhador):
        for infoMV in evtRemun.ideTrabalhador.infoMV:

            if 'indMV' in dir(infoMV):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'infoMV.indMV',
                                                 infoMV.indMV.cdata, 1,
                                                 '1;2;3')

            if 'remunOutrEmpr' in dir(infoMV):
                for remunOutrEmpr in infoMV.remunOutrEmpr:

                    if 'tpInsc' in dir(remunOutrEmpr):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'remunOutrEmpr.tpInsc',
                            remunOutrEmpr.tpInsc.cdata, 1, '1;2;3;4')
                    if 'nrInsc' in dir(remunOutrEmpr):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'remunOutrEmpr.nrInsc',
                            remunOutrEmpr.nrInsc.cdata, 1, '')
                    if 'codCateg' in dir(remunOutrEmpr):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'remunOutrEmpr.codCateg',
                            remunOutrEmpr.codCateg.cdata, 1,
                            '101;102;103;104;105;106;111;201;202;301;302;303;305;306;307;308;309;401;410;701;711;712;721;722;723;731;734;738;741;751;761;771;781;901;902;903;904;905'
                        )
                    if 'vlrRemunOE' in dir(remunOutrEmpr):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'remunOutrEmpr.vlrRemunOE',
                            remunOutrEmpr.vlrRemunOE.cdata, 1, '')

    if 'infoComplem' in dir(evtRemun.ideTrabalhador):
        for infoComplem in evtRemun.ideTrabalhador.infoComplem:

            if 'nmTrab' in dir(infoComplem):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'infoComplem.nmTrab',
                                                 infoComplem.nmTrab.cdata, 1,
                                                 '')
            if 'dtNascto' in dir(infoComplem):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'infoComplem.dtNascto',
                                                 infoComplem.dtNascto.cdata, 1,
                                                 '')

            if 'sucessaoVinc' in dir(infoComplem):
                for sucessaoVinc in infoComplem.sucessaoVinc:

                    if 'tpInscAnt' in dir(sucessaoVinc):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'sucessaoVinc.tpInscAnt',
                            sucessaoVinc.tpInscAnt.cdata, 1, '1;2')
                    if 'cnpjEmpregAnt' in dir(sucessaoVinc):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'sucessaoVinc.cnpjEmpregAnt',
                            sucessaoVinc.cnpjEmpregAnt.cdata, 1, '')
                    if 'matricAnt' in dir(sucessaoVinc):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'sucessaoVinc.matricAnt',
                            sucessaoVinc.matricAnt.cdata, 0, '')
                    if 'dtAdm' in dir(sucessaoVinc):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'sucessaoVinc.dtAdm',
                            sucessaoVinc.dtAdm.cdata, 1, '')
                    if 'observacao' in dir(sucessaoVinc):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'sucessaoVinc.observacao',
                            sucessaoVinc.observacao.cdata, 0, '')

    if 'procJudTrab' in dir(evtRemun.ideTrabalhador):
        for procJudTrab in evtRemun.ideTrabalhador.procJudTrab:

            if 'tpTrib' in dir(procJudTrab):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'procJudTrab.tpTrib',
                                                 procJudTrab.tpTrib.cdata, 1,
                                                 '1;2;3;4')
            if 'nrProcJud' in dir(procJudTrab):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'procJudTrab.nrProcJud',
                                                 procJudTrab.nrProcJud.cdata,
                                                 1, '')
            if 'codSusp' in dir(procJudTrab):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'procJudTrab.codSusp',
                                                 procJudTrab.codSusp.cdata, 0,
                                                 '')

    if 'infoInterm' in dir(evtRemun.ideTrabalhador):
        for infoInterm in evtRemun.ideTrabalhador.infoInterm:

            if 'qtdDiasInterm' in dir(infoInterm):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'infoInterm.qtdDiasInterm',
                    infoInterm.qtdDiasInterm.cdata, 1, '')

    if 'dmDev' in dir(evtRemun):
        for dmDev in evtRemun.dmDev:

            if 'ideDmDev' in dir(dmDev):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'dmDev.ideDmDev',
                                                 dmDev.ideDmDev.cdata, 1, '')
            if 'codCateg' in dir(dmDev):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'dmDev.codCateg', dmDev.codCateg.cdata,
                    1,
                    '101;102;103;104;105;106;111;201;202;301;302;303;305;306;307;308;309;401;410;701;711;712;721;722;723;731;734;738;741;751;761;771;781;901;902;903;904;905'
                )

            if 'ideEstabLot' in dir(dmDev.infoPerApur):
                for ideEstabLot in dmDev.infoPerApur.ideEstabLot:

                    if 'tpInsc' in dir(ideEstabLot):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'ideEstabLot.tpInsc',
                            ideEstabLot.tpInsc.cdata, 1, '1;2;3;4')
                    if 'nrInsc' in dir(ideEstabLot):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'ideEstabLot.nrInsc',
                            ideEstabLot.nrInsc.cdata, 1, '')
                    if 'codLotacao' in dir(ideEstabLot):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'ideEstabLot.codLotacao',
                            ideEstabLot.codLotacao.cdata, 1, '')
                    if 'qtdDiasAv' in dir(ideEstabLot):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'ideEstabLot.qtdDiasAv',
                            ideEstabLot.qtdDiasAv.cdata, 0, '')

            if 'ideADC' in dir(dmDev.infoPerAnt):
                for ideADC in dmDev.infoPerAnt.ideADC:

                    if 'dtAcConv' in dir(ideADC):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'ideADC.dtAcConv',
                            ideADC.dtAcConv.cdata, 0, '')
                    if 'tpAcConv' in dir(ideADC):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'ideADC.tpAcConv',
                            ideADC.tpAcConv.cdata, 1, 'A;B;C;D;E')
                    if 'compAcConv' in dir(ideADC):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'ideADC.compAcConv',
                            ideADC.compAcConv.cdata, 0, '')
                    if 'dtEfAcConv' in dir(ideADC):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'ideADC.dtEfAcConv',
                            ideADC.dtEfAcConv.cdata, 0, '')
                    if 'dsc' in dir(ideADC):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'ideADC.dsc', ideADC.dsc.cdata,
                            1, '')
                    if 'remunSuc' in dir(ideADC):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'ideADC.remunSuc',
                            ideADC.remunSuc.cdata, 1, 'S;N')

            if 'infoComplCont' in dir(dmDev):
                for infoComplCont in dmDev.infoComplCont:

                    if 'codCBO' in dir(infoComplCont):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'infoComplCont.codCBO',
                            infoComplCont.codCBO.cdata, 1, '')
                    if 'natAtividade' in dir(infoComplCont):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'infoComplCont.natAtividade',
                            infoComplCont.natAtividade.cdata, 0, '')
                    if 'qtdDiasTrab' in dir(infoComplCont):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'infoComplCont.qtdDiasTrab',
                            infoComplCont.qtdDiasTrab.cdata, 0, '')

    return validacoes_lista
def read_s1005_evttabestab(dados, arquivo, validar=False):
    import untangle
    xml = ler_arquivo(arquivo).replace("s:", "")
    doc = untangle.parse(xml)
    s1005_evttabestab_dados = {}
    xmlns = doc.eSocial['xmlns'].split('/')
    if validar:
        s1005_evttabestab_dados['status'] = 1
    else:
        s1005_evttabestab_dados['status'] = 0
    s1005_evttabestab_dados['versao'] = xmlns[len(xmlns)-1]
    s1005_evttabestab_dados['identidade'] = doc.eSocial.evtTabEstab['Id']
    # verificacao = executar_sql("""SELECT count(*)
    #     FROM public.transmissor_eventos_esocial WHERE identidade = '%s';
    #     """ % s1005_evttabestab_dados['identidade'], True)
    # if validar and verificacao[0][0] != 0:
    #     return False
    s1005_evttabestab_dados['processamento_codigo_resposta'] = 1
    evtTabEstab = doc.eSocial.evtTabEstab
    
    if 'tpAmb' in dir(evtTabEstab.ideEvento): s1005_evttabestab_dados['tpamb'] = evtTabEstab.ideEvento.tpAmb.cdata
    if 'procEmi' in dir(evtTabEstab.ideEvento): s1005_evttabestab_dados['procemi'] = evtTabEstab.ideEvento.procEmi.cdata
    if 'verProc' in dir(evtTabEstab.ideEvento): s1005_evttabestab_dados['verproc'] = evtTabEstab.ideEvento.verProc.cdata
    if 'tpInsc' in dir(evtTabEstab.ideEmpregador): s1005_evttabestab_dados['tpinsc'] = evtTabEstab.ideEmpregador.tpInsc.cdata
    if 'nrInsc' in dir(evtTabEstab.ideEmpregador): s1005_evttabestab_dados['nrinsc'] = evtTabEstab.ideEmpregador.nrInsc.cdata
    if 'inclusao' in dir(evtTabEstab.infoEstab): s1005_evttabestab_dados['operacao'] = 1
    elif 'alteracao' in dir(evtTabEstab.infoEstab): s1005_evttabestab_dados['operacao'] = 2
    elif 'exclusao' in dir(evtTabEstab.infoEstab): s1005_evttabestab_dados['operacao'] = 3
    #print dados
    insert = create_insert('s1005_evttabestab', s1005_evttabestab_dados)
    resp = executar_sql(insert, True)
    s1005_evttabestab_id = resp[0][0]
    dados['evento'] = 's1005'
    dados['identidade'] = s1005_evttabestab_id
    dados['identidade_evento'] = doc.eSocial.evtTabEstab['Id']
    dados['status'] = 1

    if 'inclusao' in dir(evtTabEstab.infoEstab):
        for inclusao in evtTabEstab.infoEstab.inclusao:
            s1005_inclusao_dados = {}
            s1005_inclusao_dados['s1005_evttabestab_id'] = s1005_evttabestab_id
            
            if 'tpInsc' in dir(inclusao.ideEstab): s1005_inclusao_dados['tpinsc'] = inclusao.ideEstab.tpInsc.cdata
            if 'nrInsc' in dir(inclusao.ideEstab): s1005_inclusao_dados['nrinsc'] = inclusao.ideEstab.nrInsc.cdata
            if 'iniValid' in dir(inclusao.ideEstab): s1005_inclusao_dados['inivalid'] = inclusao.ideEstab.iniValid.cdata
            if 'fimValid' in dir(inclusao.ideEstab): s1005_inclusao_dados['fimvalid'] = inclusao.ideEstab.fimValid.cdata
            if 'cnaePrep' in dir(inclusao.dadosEstab): s1005_inclusao_dados['cnaeprep'] = inclusao.dadosEstab.cnaePrep.cdata
            if 'aliqRat' in dir(inclusao.dadosEstab.aliqGilrat): s1005_inclusao_dados['aliqrat'] = inclusao.dadosEstab.aliqGilrat.aliqRat.cdata
            if 'fap' in dir(inclusao.dadosEstab.aliqGilrat): s1005_inclusao_dados['fap'] = inclusao.dadosEstab.aliqGilrat.fap.cdata
            if 'aliqRatAjust' in dir(inclusao.dadosEstab.aliqGilrat): s1005_inclusao_dados['aliqratajust'] = inclusao.dadosEstab.aliqGilrat.aliqRatAjust.cdata
            if 'regPt' in dir(inclusao.dadosEstab.infoTrab): s1005_inclusao_dados['regpt'] = inclusao.dadosEstab.infoTrab.regPt.cdata
            if 'contApr' in dir(inclusao.dadosEstab.infoTrab.infoApr): s1005_inclusao_dados['contapr'] = inclusao.dadosEstab.infoTrab.infoApr.contApr.cdata
            if 'nrProcJud' in dir(inclusao.dadosEstab.infoTrab.infoApr): s1005_inclusao_dados['nrprocjud'] = inclusao.dadosEstab.infoTrab.infoApr.nrProcJud.cdata
            if 'contEntEd' in dir(inclusao.dadosEstab.infoTrab.infoApr): s1005_inclusao_dados['contented'] = inclusao.dadosEstab.infoTrab.infoApr.contEntEd.cdata
            insert = create_insert('s1005_inclusao', s1005_inclusao_dados)
            resp = executar_sql(insert, True)
            s1005_inclusao_id = resp[0][0]
            #print s1005_inclusao_id

            if 'procAdmJudRat' in dir(inclusao.dadosEstab.aliqGilrat):
                for procAdmJudRat in inclusao.dadosEstab.aliqGilrat.procAdmJudRat:
                    s1005_inclusao_procadmjudrat_dados = {}
                    s1005_inclusao_procadmjudrat_dados['s1005_inclusao_id'] = s1005_inclusao_id
                    
                    if 'tpProc' in dir(procAdmJudRat): s1005_inclusao_procadmjudrat_dados['tpproc'] = procAdmJudRat.tpProc.cdata
                    if 'nrProc' in dir(procAdmJudRat): s1005_inclusao_procadmjudrat_dados['nrproc'] = procAdmJudRat.nrProc.cdata
                    if 'codSusp' in dir(procAdmJudRat): s1005_inclusao_procadmjudrat_dados['codsusp'] = procAdmJudRat.codSusp.cdata
                    insert = create_insert('s1005_inclusao_procadmjudrat', s1005_inclusao_procadmjudrat_dados)
                    resp = executar_sql(insert, True)
                    s1005_inclusao_procadmjudrat_id = resp[0][0]
                    #print s1005_inclusao_procadmjudrat_id
        
            if 'procAdmJudFap' in dir(inclusao.dadosEstab.aliqGilrat):
                for procAdmJudFap in inclusao.dadosEstab.aliqGilrat.procAdmJudFap:
                    s1005_inclusao_procadmjudfap_dados = {}
                    s1005_inclusao_procadmjudfap_dados['s1005_inclusao_id'] = s1005_inclusao_id
                    
                    if 'tpProc' in dir(procAdmJudFap): s1005_inclusao_procadmjudfap_dados['tpproc'] = procAdmJudFap.tpProc.cdata
                    if 'nrProc' in dir(procAdmJudFap): s1005_inclusao_procadmjudfap_dados['nrproc'] = procAdmJudFap.nrProc.cdata
                    if 'codSusp' in dir(procAdmJudFap): s1005_inclusao_procadmjudfap_dados['codsusp'] = procAdmJudFap.codSusp.cdata
                    insert = create_insert('s1005_inclusao_procadmjudfap', s1005_inclusao_procadmjudfap_dados)
                    resp = executar_sql(insert, True)
                    s1005_inclusao_procadmjudfap_id = resp[0][0]
                    #print s1005_inclusao_procadmjudfap_id
        
            if 'infoCaepf' in dir(inclusao.dadosEstab):
                for infoCaepf in inclusao.dadosEstab.infoCaepf:
                    s1005_inclusao_infocaepf_dados = {}
                    s1005_inclusao_infocaepf_dados['s1005_inclusao_id'] = s1005_inclusao_id
                    
                    if 'tpCaepf' in dir(infoCaepf): s1005_inclusao_infocaepf_dados['tpcaepf'] = infoCaepf.tpCaepf.cdata
                    insert = create_insert('s1005_inclusao_infocaepf', s1005_inclusao_infocaepf_dados)
                    resp = executar_sql(insert, True)
                    s1005_inclusao_infocaepf_id = resp[0][0]
                    #print s1005_inclusao_infocaepf_id
        
            if 'infoObra' in dir(inclusao.dadosEstab):
                for infoObra in inclusao.dadosEstab.infoObra:
                    s1005_inclusao_infoobra_dados = {}
                    s1005_inclusao_infoobra_dados['s1005_inclusao_id'] = s1005_inclusao_id
                    
                    if 'indSubstPatrObra' in dir(infoObra): s1005_inclusao_infoobra_dados['indsubstpatrobra'] = infoObra.indSubstPatrObra.cdata
                    insert = create_insert('s1005_inclusao_infoobra', s1005_inclusao_infoobra_dados)
                    resp = executar_sql(insert, True)
                    s1005_inclusao_infoobra_id = resp[0][0]
                    #print s1005_inclusao_infoobra_id
        
            if 'infoEntEduc' in dir(inclusao.dadosEstab.infoTrab.infoApr):
                for infoEntEduc in inclusao.dadosEstab.infoTrab.infoApr.infoEntEduc:
                    s1005_inclusao_infoenteduc_dados = {}
                    s1005_inclusao_infoenteduc_dados['s1005_inclusao_id'] = s1005_inclusao_id
                    
                    if 'nrInsc' in dir(infoEntEduc): s1005_inclusao_infoenteduc_dados['nrinsc'] = infoEntEduc.nrInsc.cdata
                    insert = create_insert('s1005_inclusao_infoenteduc', s1005_inclusao_infoenteduc_dados)
                    resp = executar_sql(insert, True)
                    s1005_inclusao_infoenteduc_id = resp[0][0]
                    #print s1005_inclusao_infoenteduc_id
        
            if 'infoPCD' in dir(inclusao.dadosEstab.infoTrab):
                for infoPCD in inclusao.dadosEstab.infoTrab.infoPCD:
                    s1005_inclusao_infopcd_dados = {}
                    s1005_inclusao_infopcd_dados['s1005_inclusao_id'] = s1005_inclusao_id
                    
                    if 'contPCD' in dir(infoPCD): s1005_inclusao_infopcd_dados['contpcd'] = infoPCD.contPCD.cdata
                    if 'nrProcJud' in dir(infoPCD): s1005_inclusao_infopcd_dados['nrprocjud'] = infoPCD.nrProcJud.cdata
                    insert = create_insert('s1005_inclusao_infopcd', s1005_inclusao_infopcd_dados)
                    resp = executar_sql(insert, True)
                    s1005_inclusao_infopcd_id = resp[0][0]
                    #print s1005_inclusao_infopcd_id
        
    if 'alteracao' in dir(evtTabEstab.infoEstab):
        for alteracao in evtTabEstab.infoEstab.alteracao:
            s1005_alteracao_dados = {}
            s1005_alteracao_dados['s1005_evttabestab_id'] = s1005_evttabestab_id
            
            if 'tpInsc' in dir(alteracao.ideEstab): s1005_alteracao_dados['tpinsc'] = alteracao.ideEstab.tpInsc.cdata
            if 'nrInsc' in dir(alteracao.ideEstab): s1005_alteracao_dados['nrinsc'] = alteracao.ideEstab.nrInsc.cdata
            if 'iniValid' in dir(alteracao.ideEstab): s1005_alteracao_dados['inivalid'] = alteracao.ideEstab.iniValid.cdata
            if 'fimValid' in dir(alteracao.ideEstab): s1005_alteracao_dados['fimvalid'] = alteracao.ideEstab.fimValid.cdata
            if 'cnaePrep' in dir(alteracao.dadosEstab): s1005_alteracao_dados['cnaeprep'] = alteracao.dadosEstab.cnaePrep.cdata
            if 'aliqRat' in dir(alteracao.dadosEstab.aliqGilrat): s1005_alteracao_dados['aliqrat'] = alteracao.dadosEstab.aliqGilrat.aliqRat.cdata
            if 'fap' in dir(alteracao.dadosEstab.aliqGilrat): s1005_alteracao_dados['fap'] = alteracao.dadosEstab.aliqGilrat.fap.cdata
            if 'aliqRatAjust' in dir(alteracao.dadosEstab.aliqGilrat): s1005_alteracao_dados['aliqratajust'] = alteracao.dadosEstab.aliqGilrat.aliqRatAjust.cdata
            if 'regPt' in dir(alteracao.dadosEstab.infoTrab): s1005_alteracao_dados['regpt'] = alteracao.dadosEstab.infoTrab.regPt.cdata
            if 'contApr' in dir(alteracao.dadosEstab.infoTrab.infoApr): s1005_alteracao_dados['contapr'] = alteracao.dadosEstab.infoTrab.infoApr.contApr.cdata
            if 'nrProcJud' in dir(alteracao.dadosEstab.infoTrab.infoApr): s1005_alteracao_dados['nrprocjud'] = alteracao.dadosEstab.infoTrab.infoApr.nrProcJud.cdata
            if 'contEntEd' in dir(alteracao.dadosEstab.infoTrab.infoApr): s1005_alteracao_dados['contented'] = alteracao.dadosEstab.infoTrab.infoApr.contEntEd.cdata
            insert = create_insert('s1005_alteracao', s1005_alteracao_dados)
            resp = executar_sql(insert, True)
            s1005_alteracao_id = resp[0][0]
            #print s1005_alteracao_id

            if 'procAdmJudRat' in dir(alteracao.dadosEstab.aliqGilrat):
                for procAdmJudRat in alteracao.dadosEstab.aliqGilrat.procAdmJudRat:
                    s1005_alteracao_procadmjudrat_dados = {}
                    s1005_alteracao_procadmjudrat_dados['s1005_alteracao_id'] = s1005_alteracao_id
                    
                    if 'tpProc' in dir(procAdmJudRat): s1005_alteracao_procadmjudrat_dados['tpproc'] = procAdmJudRat.tpProc.cdata
                    if 'nrProc' in dir(procAdmJudRat): s1005_alteracao_procadmjudrat_dados['nrproc'] = procAdmJudRat.nrProc.cdata
                    if 'codSusp' in dir(procAdmJudRat): s1005_alteracao_procadmjudrat_dados['codsusp'] = procAdmJudRat.codSusp.cdata
                    insert = create_insert('s1005_alteracao_procadmjudrat', s1005_alteracao_procadmjudrat_dados)
                    resp = executar_sql(insert, True)
                    s1005_alteracao_procadmjudrat_id = resp[0][0]
                    #print s1005_alteracao_procadmjudrat_id
        
            if 'procAdmJudFap' in dir(alteracao.dadosEstab.aliqGilrat):
                for procAdmJudFap in alteracao.dadosEstab.aliqGilrat.procAdmJudFap:
                    s1005_alteracao_procadmjudfap_dados = {}
                    s1005_alteracao_procadmjudfap_dados['s1005_alteracao_id'] = s1005_alteracao_id
                    
                    if 'tpProc' in dir(procAdmJudFap): s1005_alteracao_procadmjudfap_dados['tpproc'] = procAdmJudFap.tpProc.cdata
                    if 'nrProc' in dir(procAdmJudFap): s1005_alteracao_procadmjudfap_dados['nrproc'] = procAdmJudFap.nrProc.cdata
                    if 'codSusp' in dir(procAdmJudFap): s1005_alteracao_procadmjudfap_dados['codsusp'] = procAdmJudFap.codSusp.cdata
                    insert = create_insert('s1005_alteracao_procadmjudfap', s1005_alteracao_procadmjudfap_dados)
                    resp = executar_sql(insert, True)
                    s1005_alteracao_procadmjudfap_id = resp[0][0]
                    #print s1005_alteracao_procadmjudfap_id
        
            if 'infoCaepf' in dir(alteracao.dadosEstab):
                for infoCaepf in alteracao.dadosEstab.infoCaepf:
                    s1005_alteracao_infocaepf_dados = {}
                    s1005_alteracao_infocaepf_dados['s1005_alteracao_id'] = s1005_alteracao_id
                    
                    if 'tpCaepf' in dir(infoCaepf): s1005_alteracao_infocaepf_dados['tpcaepf'] = infoCaepf.tpCaepf.cdata
                    insert = create_insert('s1005_alteracao_infocaepf', s1005_alteracao_infocaepf_dados)
                    resp = executar_sql(insert, True)
                    s1005_alteracao_infocaepf_id = resp[0][0]
                    #print s1005_alteracao_infocaepf_id
        
            if 'infoObra' in dir(alteracao.dadosEstab):
                for infoObra in alteracao.dadosEstab.infoObra:
                    s1005_alteracao_infoobra_dados = {}
                    s1005_alteracao_infoobra_dados['s1005_alteracao_id'] = s1005_alteracao_id
                    
                    if 'indSubstPatrObra' in dir(infoObra): s1005_alteracao_infoobra_dados['indsubstpatrobra'] = infoObra.indSubstPatrObra.cdata
                    insert = create_insert('s1005_alteracao_infoobra', s1005_alteracao_infoobra_dados)
                    resp = executar_sql(insert, True)
                    s1005_alteracao_infoobra_id = resp[0][0]
                    #print s1005_alteracao_infoobra_id
        
            if 'infoEntEduc' in dir(alteracao.dadosEstab.infoTrab.infoApr):
                for infoEntEduc in alteracao.dadosEstab.infoTrab.infoApr.infoEntEduc:
                    s1005_alteracao_infoenteduc_dados = {}
                    s1005_alteracao_infoenteduc_dados['s1005_alteracao_id'] = s1005_alteracao_id
                    
                    if 'nrInsc' in dir(infoEntEduc): s1005_alteracao_infoenteduc_dados['nrinsc'] = infoEntEduc.nrInsc.cdata
                    insert = create_insert('s1005_alteracao_infoenteduc', s1005_alteracao_infoenteduc_dados)
                    resp = executar_sql(insert, True)
                    s1005_alteracao_infoenteduc_id = resp[0][0]
                    #print s1005_alteracao_infoenteduc_id
        
            if 'infoPCD' in dir(alteracao.dadosEstab.infoTrab):
                for infoPCD in alteracao.dadosEstab.infoTrab.infoPCD:
                    s1005_alteracao_infopcd_dados = {}
                    s1005_alteracao_infopcd_dados['s1005_alteracao_id'] = s1005_alteracao_id
                    
                    if 'contPCD' in dir(infoPCD): s1005_alteracao_infopcd_dados['contpcd'] = infoPCD.contPCD.cdata
                    if 'nrProcJud' in dir(infoPCD): s1005_alteracao_infopcd_dados['nrprocjud'] = infoPCD.nrProcJud.cdata
                    insert = create_insert('s1005_alteracao_infopcd', s1005_alteracao_infopcd_dados)
                    resp = executar_sql(insert, True)
                    s1005_alteracao_infopcd_id = resp[0][0]
                    #print s1005_alteracao_infopcd_id
        
            if 'novaValidade' in dir(alteracao):
                for novaValidade in alteracao.novaValidade:
                    s1005_alteracao_novavalidade_dados = {}
                    s1005_alteracao_novavalidade_dados['s1005_alteracao_id'] = s1005_alteracao_id
                    
                    if 'iniValid' in dir(novaValidade): s1005_alteracao_novavalidade_dados['inivalid'] = novaValidade.iniValid.cdata
                    if 'fimValid' in dir(novaValidade): s1005_alteracao_novavalidade_dados['fimvalid'] = novaValidade.fimValid.cdata
                    insert = create_insert('s1005_alteracao_novavalidade', s1005_alteracao_novavalidade_dados)
                    resp = executar_sql(insert, True)
                    s1005_alteracao_novavalidade_id = resp[0][0]
                    #print s1005_alteracao_novavalidade_id
        
    if 'exclusao' in dir(evtTabEstab.infoEstab):
        for exclusao in evtTabEstab.infoEstab.exclusao:
            s1005_exclusao_dados = {}
            s1005_exclusao_dados['s1005_evttabestab_id'] = s1005_evttabestab_id
            
            if 'tpInsc' in dir(exclusao.ideEstab): s1005_exclusao_dados['tpinsc'] = exclusao.ideEstab.tpInsc.cdata
            if 'nrInsc' in dir(exclusao.ideEstab): s1005_exclusao_dados['nrinsc'] = exclusao.ideEstab.nrInsc.cdata
            if 'iniValid' in dir(exclusao.ideEstab): s1005_exclusao_dados['inivalid'] = exclusao.ideEstab.iniValid.cdata
            if 'fimValid' in dir(exclusao.ideEstab): s1005_exclusao_dados['fimvalid'] = exclusao.ideEstab.fimValid.cdata
            insert = create_insert('s1005_exclusao', s1005_exclusao_dados)
            resp = executar_sql(insert, True)
            s1005_exclusao_id = resp[0][0]
            #print s1005_exclusao_id

    from emensageriapro.esocial.views.s1005_evttabestab_verificar import validar_evento_funcao
    if validar: validar_evento_funcao(s1005_evttabestab_id, 'default')
    return dados
示例#45
0
def get_data():
    obj = untangle.parse(my_url)
    tot_rows = obj.imdata['totalCount']
    tot_rows = int(tot_rows)
    return tot_rows, obj
    def get_image_description(self, hash):
        """Gets the image title and/or caption in a formatted string
            Note that the xml returned for random images vs. gallery/subreddit images
            is a bit different, they have to be done differently. This is for random
            images.
        """

        # Getting the xml information for images can fail if the Imgur servers are busy or down
        # In this case, just set the title and caption to ""
        try:
            # Post the api.imgur server for the image information
            response = cStringIO.StringIO()
            c = pycurl.Curl()
            values = [("key", self.IMGUR_API_DEV_KEY)]

            c.setopt(c.URL, "http://api.imgur.com/2/image/" + hash + ".xml")
            c.setopt(c.HTTPPOST, values)
            c.setopt(c.WRITEFUNCTION, response.write)

            c.perform()
            c.close()

            imageInfo = response.getvalue()

            # Analyze the xml response
            o = untangle.parse(imageInfo)
            imageTitle = o.image.image.title.cdata
            imageCaption = o.image.image.caption.cdata

        except:
            imageTitle = ""
            imageCaption = ""

        # Format the description, taking care to not go over 140 chars
        # Admittedly, this is isn't very pretty. I'm sure it could be done better
        urlLength = 28

        if imageTitle is not "":
            if imageCaption is not "":
                # Title: Caption [Url]
                titleLength = len(
                    imageTitle) + 2  # +2 for ": " after the title
                captionLength = 140 - urlLength - titleLength - 1  # -1 for space after caption between url
                imageFullDescription = imageTitle + ": " + imageCaption[
                    0:captionLength]
                return imageFullDescription
            else:
                # Title [Url]
                titleLength = 140 - urlLength
                imageFullDescription = imageTitle[0:titleLength]
                return imageFullDescription

        else:
            if imageCaption is not "":
                # Caption [Url]
                captionLength = 140 - urlLength
                imageFullDescription = imageCaption[0:captionLength]
                return imageFullDescription
            else:
                # Url
                imageFullDescription = ""
                return imageFullDescription

        return imageFullDescription
import untangle
import csv

# Scraper that fetches information about parties

logging = False
writeResults = True

outputFile = '../data/parties.csv'
results = [["party_id", "name", "abr_short", "abr_long"]]  #schema for csv file
obj = untangle.parse('http://www.althingi.is/altext/xml/thingflokkar/')
if (logging):
    print("Starting to fetch data")

for party in obj.þingflokkar.children:
    #print(party.children)
    results.append([
        party['id'],
        party.heiti.cdata.strip(),
        party.skammstafanir.stuttskammstöfun.cdata.strip(),
        party.skammstafanir.löngskammstöfun.cdata.strip(),
    ])
#print(results)
if (logging):
    print("Finished fetching data")

if (writeResults):
    print('Writing to ' + outputFile)
    summaryCSV = open(outputFile, 'w', encoding="utf-8")
    with summaryCSV:
        writer = csv.writer(summaryCSV)
示例#48
0
import os

maxsize = 512

# tags = ["asu_tora","puuakachan","mankun","hammer_%28sunset_beach%29",""]
# for tag in tags:

count = 22863
directory = "/Users/venice/imgs"

if not os.path.exists(directory):
    os.makedirs(directory)

for i in range(231, 10000):
    stringreturn = urllib.request.urlopen("http://safebooru.org/index.php?page=dapi&s=post&q=index&tags=1girl%20solo&pid="+str(i)).read().decode('utf-8')
    xmlreturn = untangle.parse(stringreturn)
    for post in xmlreturn.posts.post:
        imgurl = "http:" + post["sample_url"]
        if ("png" in imgurl) or ("jpg" in imgurl):
            print(f"{i}:{count} {imgurl}")
            resp = urllib.request.urlopen(imgurl)
            image = np.asarray(bytearray(resp.read()), dtype="uint8")
            image = cv2.imdecode(image, cv2.IMREAD_COLOR)
            height, width = image.shape[:2]
            if height > width:
                scalefactor = (maxsize*1.0) / width
                res = cv2.resize(image,(int(width * scalefactor), int(height*scalefactor)), interpolation = cv2.INTER_CUBIC)
                cropped = res[0:maxsize,0:maxsize]
            if width > height:
                scalefactor = (maxsize*1.0) / height
                res = cv2.resize(image,(int(width * scalefactor), int(height*scalefactor)), interpolation = cv2.INTER_CUBIC)
示例#49
0
 def getRecord(self, url):
     self.url = url
     rec = untangle.parse(url)
     return rec
示例#50
0
def validacoes_s2221_evttoxic(arquivo):

    from emensageriapro.mensageiro.functions.funcoes_validacoes import validar_campo
    import untangle

    xml = ler_arquivo(arquivo).replace("s:", "")
    doc = untangle.parse(xml)
    validacoes_lista = []
    xmlns = doc.eSocial['xmlns'].split('/')
    evtToxic = doc.eSocial.evtToxic
    #variaveis

    if 'ideEvento' in dir(evtToxic.ideEvento):
        for ideEvento in evtToxic.ideEvento:

            if 'indRetif' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.indRetif',
                                                 ideEvento.indRetif.cdata, 1,
                                                 u'1, 2')

            if 'nrRecibo' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.nrRecibo',
                                                 ideEvento.nrRecibo.cdata, 0,
                                                 u'None')

            if 'tpAmb' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.tpAmb',
                                                 ideEvento.tpAmb.cdata, 1,
                                                 u'1, 2')

            if 'procEmi' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.procEmi',
                                                 ideEvento.procEmi.cdata, 1,
                                                 u'1, 2, 3, 4, 5')

            if 'verProc' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.verProc',
                                                 ideEvento.verProc.cdata, 1,
                                                 u'None')

    if 'ideEmpregador' in dir(evtToxic.ideEmpregador):
        for ideEmpregador in evtToxic.ideEmpregador:

            if 'tpInsc' in dir(ideEmpregador):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEmpregador.tpInsc',
                                                 ideEmpregador.tpInsc.cdata, 1,
                                                 u'1, 2, 3, 4, 5, 6')

            if 'nrInsc' in dir(ideEmpregador):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEmpregador.nrInsc',
                                                 ideEmpregador.nrInsc.cdata, 1,
                                                 u'None')

    if 'ideVinculo' in dir(evtToxic.ideVinculo):
        for ideVinculo in evtToxic.ideVinculo:

            if 'cpfTrab' in dir(ideVinculo):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideVinculo.cpfTrab',
                                                 ideVinculo.cpfTrab.cdata, 1,
                                                 u'None')

            if 'nisTrab' in dir(ideVinculo):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideVinculo.nisTrab',
                                                 ideVinculo.nisTrab.cdata, 0,
                                                 u'None')

            if 'matricula' in dir(ideVinculo):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideVinculo.matricula',
                                                 ideVinculo.matricula.cdata, 0,
                                                 u'None')

            if 'codCateg' in dir(ideVinculo):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'ideVinculo.codCateg',
                    ideVinculo.codCateg.cdata, 0,
                    u'101, 102, 103, 104, 105, 106, 107, 108, 111, 201, 202, 301, 302, 303, 305, 306, 307, 308, 309, 401, 410, 701, 711, 712, 721, 722, 723, 731, 734, 738, 741, 751, 761, 771, 781, 901, 902, 903, 904, 905'
                )

    if 'toxicologico' in dir(evtToxic.toxicologico):
        for toxicologico in evtToxic.toxicologico:

            if 'dtExame' in dir(toxicologico):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'toxicologico.dtExame',
                                                 toxicologico.dtExame.cdata, 1,
                                                 u'None')

            if 'cnpjLab' in dir(toxicologico):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'toxicologico.cnpjLab',
                                                 toxicologico.cnpjLab.cdata, 0,
                                                 u'None')

            if 'codSeqExame' in dir(toxicologico):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'toxicologico.codSeqExame',
                    toxicologico.codSeqExame.cdata, 0, u'None')

            if 'nmMed' in dir(toxicologico):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'toxicologico.nmMed',
                                                 toxicologico.nmMed.cdata, 0,
                                                 u'None')

            if 'nrCRM' in dir(toxicologico):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'toxicologico.nrCRM',
                                                 toxicologico.nrCRM.cdata, 0,
                                                 u'None')

            if 'ufCRM' in dir(toxicologico):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'toxicologico.ufCRM',
                                                 toxicologico.ufCRM.cdata, 0,
                                                 u'None')

            if 'indRecusa' in dir(toxicologico):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'toxicologico.indRecusa',
                                                 toxicologico.indRecusa.cdata,
                                                 1, u'S, N')
    return validacoes_lista
示例#51
0
# REGISTER: https://www.zillow.com/user/Register.htm
# API REGISTER: https://www.zillow.com/webservice/Registration.htm
# API DOC: http://www.zillow.com/howto/api/APIOverview.htm

# This one does not get captcha Sept 2017

import sys
import untangle
import requests

KEY = sys.argv[1]  # your zillow api key/id as argument to script

# Find out how much property 64969892 is worth
zpid = '64969892'
URL = "http://www.zillow.com/webservice/GetZestimate.htm?zws-id=%s&zpid=%s" % (
    KEY, zpid)
print URL
# response = requests.get(URL, params={"zws-id":KEY, "zpid":zpid})
response = requests.get(URL)
xmldata = unicode.encode(response.text, encoding='ascii', errors='ignore')

xml = untangle.parse(xmldata)
print "URL", xml.Zestimate_zestimate.response.links.homedetails.cdata
print "Value $%s" % xml.Zestimate_zestimate.response.zestimate.amount.cdata
示例#52
0
import untangle

# 将文件解析成对象
obj = untangle.parse('p11/data.xml')
#获取l标签
obj.root.title.__dict__['l']


obj.root.body.p['name']
示例#53
0
    def load_data(self):
        starttime = time.time()
        logger.info('Update {} data from ONLINE refreshing cache.'.format(
            self.get_type()))

        xmldata = terrariumUtils.get_remote_data(
            self.source.strip('/') + '/forecast_hour_by_hour.xml')
        if xmldata is not None:
            try:
                xmldata = untangle.parse(xmldata)
            except Exception:
                logger.exception('Error getting online data from {}'.format(
                    self.get_type()))
                return False

            # Parse hour forecast
            # Parse general data information
            self.location['city'] = xmldata.weatherdata.location.name.cdata
            self.location[
                'country'] = xmldata.weatherdata.location.country.cdata
            self.location['geo']['lat'] = float(
                xmldata.weatherdata.location.location['latitude'])
            self.location['geo']['long'] = float(
                xmldata.weatherdata.location.location['longitude'])

            self.credits['text'] = xmldata.weatherdata.credit.link['text']
            self.credits['url'] = xmldata.weatherdata.credit.link['url']

            self.sun['rise'] = int(
                time.mktime(
                    dateutil.parser.parse(
                        xmldata.weatherdata.sun['rise']).timetuple()))
            self.sun['set'] = int(
                time.mktime(
                    dateutil.parser.parse(
                        xmldata.weatherdata.sun['set']).timetuple()))

            for forecast in xmldata.weatherdata.forecast.tabular.time:
                forecast_data = {
                    'from':
                    int(
                        time.mktime(
                            dateutil.parser.parse(
                                forecast['from']).timetuple())),
                    'to':
                    int(
                        time.mktime(
                            dateutil.parser.parse(
                                forecast['to']).timetuple())),
                    'weather':
                    forecast.symbol['name'],
                    'rain':
                    float(forecast.precipitation['value']),
                    'humidity':
                    0.0,
                    'wind_direction':
                    forecast.windDirection['name'],
                    'wind_speed':
                    float(forecast.windSpeed['mps']),
                    'temperature':
                    float(forecast.temperature['value']),
                    'pressure':
                    float(forecast.pressure['value'])
                }

                self.hour_forecast[forecast_data['from']] = forecast_data

            # Parse week forecast
            xmldata = terrariumUtils.get_remote_data(
                self.source.strip('/') + '/forecast.xml')
            if xmldata is not None:
                try:
                    xmldata = untangle.parse(xmldata)
                except Exception:
                    logger.exception(
                        'Error getting online data from {}'.format(
                            self.get_type()))

                for forecast in xmldata.weatherdata.forecast.tabular.time:
                    forecast_data = {
                        'from':
                        int(
                            time.mktime(
                                dateutil.parser.parse(
                                    forecast['from']).timetuple())),
                        'to':
                        int(
                            time.mktime(
                                dateutil.parser.parse(
                                    forecast['to']).timetuple())),
                        'weather':
                        forecast.symbol['name'],
                        'rain':
                        float(forecast.precipitation['value']),
                        'humidity':
                        0.0,
                        'wind_direction':
                        forecast.windDirection['name'],
                        'wind_speed':
                        float(forecast.windSpeed['mps']),
                        'temperature':
                        float(forecast.temperature['value']),
                        'pressure':
                        float(forecast.pressure['value'])
                    }
                    self.week_forecast[forecast_data['from']] = forecast_data

            else:
                logger.error('Error getting online data from {}'.format(
                    self.get_type()))
        else:
            logger.error('Error getting online data from {}'.format(
                self.get_type()))
            return False

        return True
import urllib.request
import json
import numpy as np
import cv2
import untangle

maxsize = 512

count = 1

for i in range(3000):
    stringreturn = urllib.request.urlopen(
        f"https://safebooru.org/index.php?page=dapi&s=post&q=index&tags=1girl%20solo&pid={str(i+84)}"
    ).read()
    xmlreturn = untangle.parse(stringreturn.decode())
    #    print(f"{i}, {count}")
    if i % 300 == 0:
        print(
            "================================================================="
        )
        print(f"{i/3000 * 100}% done..")
        print(
            "================================================================="
        )
    for post in xmlreturn.posts.post:
        imgurl = "https:" + post["sample_url"]
        #print(imgurl)
        if ("png" in imgurl) or ("jpg" in imgurl):

            resp = urllib.request.urlopen(imgurl)
示例#55
0
def validacoes_s2230_evtafasttemp(arquivo):

    from emensageriapro.mensageiro.functions.funcoes_validacoes import validar_campo
    import untangle

    xml = ler_arquivo(arquivo).replace("s:", "")
    doc = untangle.parse(xml)
    validacoes_lista = []
    xmlns = doc.eSocial['xmlns'].split('/')
    evtAfastTemp = doc.eSocial.evtAfastTemp
    #variaveis

    if 'ideEvento' in dir(evtAfastTemp.ideEvento):
        for ideEvento in evtAfastTemp.ideEvento:

            if 'indRetif' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.indRetif',
                                                 ideEvento.indRetif.cdata, 1,
                                                 u'1, 2')

            if 'nrRecibo' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.nrRecibo',
                                                 ideEvento.nrRecibo.cdata, 0,
                                                 u'None')

            if 'tpAmb' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.tpAmb',
                                                 ideEvento.tpAmb.cdata, 1,
                                                 u'1, 2')

            if 'procEmi' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.procEmi',
                                                 ideEvento.procEmi.cdata, 1,
                                                 u'1, 2, 3, 4, 5')

            if 'verProc' in dir(ideEvento):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEvento.verProc',
                                                 ideEvento.verProc.cdata, 1,
                                                 u'None')

    if 'ideEmpregador' in dir(evtAfastTemp.ideEmpregador):
        for ideEmpregador in evtAfastTemp.ideEmpregador:

            if 'tpInsc' in dir(ideEmpregador):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEmpregador.tpInsc',
                                                 ideEmpregador.tpInsc.cdata, 1,
                                                 u'1, 2, 3, 4, 5')

            if 'nrInsc' in dir(ideEmpregador):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideEmpregador.nrInsc',
                                                 ideEmpregador.nrInsc.cdata, 1,
                                                 u'None')

    if 'ideVinculo' in dir(evtAfastTemp.ideVinculo):
        for ideVinculo in evtAfastTemp.ideVinculo:

            if 'cpfTrab' in dir(ideVinculo):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideVinculo.cpfTrab',
                                                 ideVinculo.cpfTrab.cdata, 1,
                                                 u'None')

            if 'nisTrab' in dir(ideVinculo):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideVinculo.nisTrab',
                                                 ideVinculo.nisTrab.cdata, 0,
                                                 u'None')

            if 'matricula' in dir(ideVinculo):
                validacoes_lista = validar_campo(validacoes_lista,
                                                 'ideVinculo.matricula',
                                                 ideVinculo.matricula.cdata, 0,
                                                 u'None')

            if 'codCateg' in dir(ideVinculo):
                validacoes_lista = validar_campo(
                    validacoes_lista, 'ideVinculo.codCateg',
                    ideVinculo.codCateg.cdata, 0,
                    u'101, 102, 103, 104, 105, 106, 111, 201, 202, 301, 302, 303, 305, 306, 307, 308, 309, 401, 410, 701, 711, 712, 721, 722, 723, 731, 734, 738, 741, 751, 761, 771, 781, 901, 902, 903, 904, 905'
                )

    if 'infoAfastamento' in dir(evtAfastTemp.infoAfastamento):
        for infoAfastamento in evtAfastTemp.infoAfastamento:

            if 'iniAfastamento' in dir(infoAfastamento.iniAfastamento):
                for iniAfastamento in infoAfastamento.iniAfastamento:

                    if 'dtIniAfast' in dir(iniAfastamento):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'iniAfastamento.dtIniAfast',
                            iniAfastamento.dtIniAfast.cdata, 1, u'None')

                    if 'codMotAfast' in dir(iniAfastamento):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'iniAfastamento.codMotAfast',
                            iniAfastamento.codMotAfast.cdata, 1,
                            u'01, 03, 05, 06, 07, 08, 10, 11, 12, 13, 14, 15, 16, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35'
                        )

                    if 'infoMesmoMtv' in dir(iniAfastamento):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'iniAfastamento.infoMesmoMtv',
                            iniAfastamento.infoMesmoMtv.cdata, 0, u'S, N')

                    if 'tpAcidTransito' in dir(iniAfastamento):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'iniAfastamento.tpAcidTransito',
                            iniAfastamento.tpAcidTransito.cdata, 0, u'1, 2, 3')

                    if 'observacao' in dir(iniAfastamento):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'iniAfastamento.observacao',
                            iniAfastamento.observacao.cdata, 0, u'None')

                    if 'infoAtestado' in dir(iniAfastamento.infoAtestado):
                        for infoAtestado in iniAfastamento.infoAtestado:

                            if 'codCID' in dir(infoAtestado):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'infoAtestado.codCID',
                                    infoAtestado.codCID.cdata, 0, u'None')

                            if 'qtdDiasAfast' in dir(infoAtestado):
                                validacoes_lista = validar_campo(
                                    validacoes_lista,
                                    'infoAtestado.qtdDiasAfast',
                                    infoAtestado.qtdDiasAfast.cdata, 1,
                                    u'None')

                            if 'emitente' in dir(infoAtestado.emitente):
                                for emitente in infoAtestado.emitente:

                                    if 'nmEmit' in dir(emitente):
                                        validacoes_lista = validar_campo(
                                            validacoes_lista,
                                            'emitente.nmEmit',
                                            emitente.nmEmit.cdata, 1, u'None')

                                    if 'ideOC' in dir(emitente):
                                        validacoes_lista = validar_campo(
                                            validacoes_lista, 'emitente.ideOC',
                                            emitente.ideOC.cdata, 1,
                                            u'1, 2, 3')

                                    if 'nrOc' in dir(emitente):
                                        validacoes_lista = validar_campo(
                                            validacoes_lista, 'emitente.nrOc',
                                            emitente.nrOc.cdata, 1, u'None')

                                    if 'ufOC' in dir(emitente):
                                        validacoes_lista = validar_campo(
                                            validacoes_lista, 'emitente.ufOC',
                                            emitente.ufOC.cdata, 0, u'None')

                    if 'infoCessao' in dir(iniAfastamento.infoCessao):
                        for infoCessao in iniAfastamento.infoCessao:

                            if 'cnpjCess' in dir(infoCessao):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'infoCessao.cnpjCess',
                                    infoCessao.cnpjCess.cdata, 1, u'None')

                            if 'infOnus' in dir(infoCessao):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'infoCessao.infOnus',
                                    infoCessao.infOnus.cdata, 1, u'1, 2, 3')

                    if 'infoMandSind' in dir(iniAfastamento.infoMandSind):
                        for infoMandSind in iniAfastamento.infoMandSind:

                            if 'cnpjSind' in dir(infoMandSind):
                                validacoes_lista = validar_campo(
                                    validacoes_lista, 'infoMandSind.cnpjSind',
                                    infoMandSind.cnpjSind.cdata, 1, u'None')

                            if 'infOnusRemun' in dir(infoMandSind):
                                validacoes_lista = validar_campo(
                                    validacoes_lista,
                                    'infoMandSind.infOnusRemun',
                                    infoMandSind.infOnusRemun.cdata, 1,
                                    u'1, 2, 3')

            if 'infoRetif' in dir(infoAfastamento.infoRetif):
                for infoRetif in infoAfastamento.infoRetif:

                    if 'origRetif' in dir(infoRetif):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'infoRetif.origRetif',
                            infoRetif.origRetif.cdata, 1, u'1, 2, 3')

                    if 'tpProc' in dir(infoRetif):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'infoRetif.tpProc',
                            infoRetif.tpProc.cdata, 0, u'1, 2, 3')

                    if 'nrProc' in dir(infoRetif):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'infoRetif.nrProc',
                            infoRetif.nrProc.cdata, 0, u'None')

            if 'fimAfastamento' in dir(infoAfastamento.fimAfastamento):
                for fimAfastamento in infoAfastamento.fimAfastamento:

                    if 'dtTermAfast' in dir(fimAfastamento):
                        validacoes_lista = validar_campo(
                            validacoes_lista, 'fimAfastamento.dtTermAfast',
                            fimAfastamento.dtTermAfast.cdata, 1, u'None')
    return validacoes_lista
示例#56
0
# API home http://www.omdbapi.com/
# python lib https://github.com/dgilland/omdb.py

# no key required

# Derived from https://blog.n-der.net/?p=14
import urllib
import urllib2
import json
import untangle

URL = "http://www.omdbapi.com/?"

movie_title = "Star Wars"
movie_year = "1977"

query = {'t': movie_title, 'y': movie_year, 'r': 'xml'}

query_url = URL + urllib.urlencode(query)
response = urllib2.urlopen(query_url)
data = response.read()

if 'r' in query and query['r'] == 'xml':
    print data
    xml = untangle.parse(data)
    print xml.root.movie['title']
    print xml.root.movie['plot']
else:
    json_data = json.loads(data)
    print json.dumps(json_data, indent=4)
示例#57
0
def get_comment_options():
    return get_options(untangle.parse(get_comments()))
示例#58
0
    def populate_metadata(self):
        # Validate XPI file
        try:
            with zipfile.ZipFile(self.xpi) as zf:
                files = set(zf.namelist())

                # Verify this is a web extension or legacy addon
                if "manifest.json" in files:  # Web extension
                    with zf.open("manifest.json") as manifest_file:
                        try:
                            data = json.load(manifest_file)
                        except json.decoder.JSONDecodeError:
                            raise ValidationError({"xpi": "Web extension manifest is corrupt."})

                    self.extension_id = (
                        data.get("applications", {}).get("gecko", {}).get("id", None)
                    )
                    self.version = data.get("version")

                    if not self.extension_id:
                        raise ValidationError(
                            {
                                "xpi": (
                                    "Web extensions must have a manifest key "
                                    '"applications.gecko.id".'
                                )
                            }
                        )

                    if not self.version:
                        raise ValidationError(
                            {"xpi": 'Web extensions must have a manifest key "version".'}
                        )
                elif "install.rdf" in files:  # Legacy addon
                    self.is_legacy = True

                    with zf.open("install.rdf", "r") as rdf_file:
                        try:
                            data = untangle.parse(rdf_file.read().decode())
                        except SAXParseException:
                            raise ValidationError(
                                {"xpi": 'Legacy addon "install.rdf" is corrupt.'}
                            )

                    try:
                        self.extension_id = data.RDF.Description.em_id.cdata
                        self.version = data.RDF.Description.em_version.cdata
                    except AttributeError:
                        pass  # Ignore as this will be dealt with in the next step

                    if not self.extension_id:
                        raise ValidationError(
                            {"xpi": 'Legacy addons "install.rdf" must specify an id.'}
                        )

                    if not self.version:
                        raise ValidationError(
                            {"xpi": 'Legacy addons "install.rdf" must specify a version.'}
                        )
                else:
                    raise ValidationError(
                        {"xpi": "Extension file must be a valid WebExtension or legacy addon."}
                    )

                # Verify the extension is signed
                if not SIGNING_FILES.issubset(files):
                    raise ValidationError({"xpi": "Extension file must be signed."})
        except zipfile.BadZipFile:
            raise ValidationError({"xpi": "Extension file must be zip-formatted."})

        # Make sure to read the XPI file from the start before hashing
        self.xpi.seek(0)
        self.hash = hashlib.sha256(self.xpi.read()).hexdigest()
        self.hash_algorithm = "sha256"
示例#59
0
def test_parse_xml():
    with open(Path(__file__).parent / "sample_response.xml") as f:
        o = untangle.parse(f)
        assert len(o.informationTable.children) == 21
示例#60
0
def validacoes_s1060_evttabambiente(arquivo):

    from emensageriapro.mensageiro.functions.funcoes_validacoes import validar_campo
    import untangle

    xml = ler_arquivo(arquivo).replace("s:", "")
    doc = untangle.parse(xml)
    validacoes_lista = []
    xmlns = doc.eSocial['xmlns'].split('/')
    evtTabAmbiente = doc.eSocial.evtTabAmbiente
    #variaveis

    if 'ideEvento' in dir(evtTabAmbiente.ideEvento):
        for ideEvento in evtTabAmbiente.ideEvento:

            if 'tpAmb' in dir(ideEvento):
                validacoes_lista = validar_campo( validacoes_lista,
                                                  'ideEvento.tpAmb',
                                                  ideEvento.tpAmb.cdata,
                                                  1, u'1, 2')

            if 'procEmi' in dir(ideEvento):
                validacoes_lista = validar_campo( validacoes_lista,
                                                  'ideEvento.procEmi',
                                                  ideEvento.procEmi.cdata,
                                                  1, u'1, 2, 3, 4, 5')

            if 'verProc' in dir(ideEvento):
                validacoes_lista = validar_campo( validacoes_lista,
                                                  'ideEvento.verProc',
                                                  ideEvento.verProc.cdata,
                                                  1, u'None')

    if 'ideEmpregador' in dir(evtTabAmbiente.ideEmpregador):
        for ideEmpregador in evtTabAmbiente.ideEmpregador:

            if 'tpInsc' in dir(ideEmpregador):
                validacoes_lista = validar_campo( validacoes_lista,
                                                  'ideEmpregador.tpInsc',
                                                  ideEmpregador.tpInsc.cdata,
                                                  1, u'1, 2, 3, 4, 5, 6')

            if 'nrInsc' in dir(ideEmpregador):
                validacoes_lista = validar_campo( validacoes_lista,
                                                  'ideEmpregador.nrInsc',
                                                  ideEmpregador.nrInsc.cdata,
                                                  1, u'None')

    if 'infoAmbiente' in dir(evtTabAmbiente.infoAmbiente):
        for infoAmbiente in evtTabAmbiente.infoAmbiente:

            if 'inclusao' in dir(infoAmbiente.inclusao):
                for inclusao in infoAmbiente.inclusao:

                    if 'ideAmbiente' in dir(inclusao.ideAmbiente):
                        for ideAmbiente in inclusao.ideAmbiente:
        
                            if 'codAmb' in dir(ideAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'ideAmbiente.codAmb',
                                                                  ideAmbiente.codAmb.cdata,
                                                                  1, u'None')
        
                            if 'iniValid' in dir(ideAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'ideAmbiente.iniValid',
                                                                  ideAmbiente.iniValid.cdata,
                                                                  1, u'None')
        
                            if 'fimValid' in dir(ideAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'ideAmbiente.fimValid',
                                                                  ideAmbiente.fimValid.cdata,
                                                                  0, u'None')

                    if 'dadosAmbiente' in dir(inclusao.dadosAmbiente):
                        for dadosAmbiente in inclusao.dadosAmbiente:
        
                            if 'nmAmb' in dir(dadosAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'dadosAmbiente.nmAmb',
                                                                  dadosAmbiente.nmAmb.cdata,
                                                                  1, u'None')
        
                            if 'dscAmb' in dir(dadosAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'dadosAmbiente.dscAmb',
                                                                  dadosAmbiente.dscAmb.cdata,
                                                                  1, u'None')
        
                            if 'localAmb' in dir(dadosAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'dadosAmbiente.localAmb',
                                                                  dadosAmbiente.localAmb.cdata,
                                                                  1, u'1, 2, 3')
        
                            if 'tpInsc' in dir(dadosAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'dadosAmbiente.tpInsc',
                                                                  dadosAmbiente.tpInsc.cdata,
                                                                  0, u'1, 2, 3, 4, 5, 6')
        
                            if 'nrInsc' in dir(dadosAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'dadosAmbiente.nrInsc',
                                                                  dadosAmbiente.nrInsc.cdata,
                                                                  0, u'None')
        
                            if 'codLotacao' in dir(dadosAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'dadosAmbiente.codLotacao',
                                                                  dadosAmbiente.codLotacao.cdata,
                                                                  0, u'None')

            if 'alteracao' in dir(infoAmbiente.alteracao):
                for alteracao in infoAmbiente.alteracao:

                    if 'ideAmbiente' in dir(alteracao.ideAmbiente):
                        for ideAmbiente in alteracao.ideAmbiente:
        
                            if 'codAmb' in dir(ideAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'ideAmbiente.codAmb',
                                                                  ideAmbiente.codAmb.cdata,
                                                                  1, u'None')
        
                            if 'iniValid' in dir(ideAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'ideAmbiente.iniValid',
                                                                  ideAmbiente.iniValid.cdata,
                                                                  1, u'None')
        
                            if 'fimValid' in dir(ideAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'ideAmbiente.fimValid',
                                                                  ideAmbiente.fimValid.cdata,
                                                                  0, u'None')

                    if 'dadosAmbiente' in dir(alteracao.dadosAmbiente):
                        for dadosAmbiente in alteracao.dadosAmbiente:
        
                            if 'nmAmb' in dir(dadosAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'dadosAmbiente.nmAmb',
                                                                  dadosAmbiente.nmAmb.cdata,
                                                                  1, u'None')
        
                            if 'dscAmb' in dir(dadosAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'dadosAmbiente.dscAmb',
                                                                  dadosAmbiente.dscAmb.cdata,
                                                                  1, u'None')
        
                            if 'localAmb' in dir(dadosAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'dadosAmbiente.localAmb',
                                                                  dadosAmbiente.localAmb.cdata,
                                                                  1, u'1, 2, 3')
        
                            if 'tpInsc' in dir(dadosAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'dadosAmbiente.tpInsc',
                                                                  dadosAmbiente.tpInsc.cdata,
                                                                  0, u'1, 2, 3, 4, 5, 6')
        
                            if 'nrInsc' in dir(dadosAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'dadosAmbiente.nrInsc',
                                                                  dadosAmbiente.nrInsc.cdata,
                                                                  0, u'None')
        
                            if 'codLotacao' in dir(dadosAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'dadosAmbiente.codLotacao',
                                                                  dadosAmbiente.codLotacao.cdata,
                                                                  0, u'None')

                    if 'novaValidade' in dir(alteracao.novaValidade):
                        for novaValidade in alteracao.novaValidade:
        
                            if 'iniValid' in dir(novaValidade):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'novaValidade.iniValid',
                                                                  novaValidade.iniValid.cdata,
                                                                  1, u'None')
        
                            if 'fimValid' in dir(novaValidade):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'novaValidade.fimValid',
                                                                  novaValidade.fimValid.cdata,
                                                                  0, u'None')

            if 'exclusao' in dir(infoAmbiente.exclusao):
                for exclusao in infoAmbiente.exclusao:

                    if 'ideAmbiente' in dir(exclusao.ideAmbiente):
                        for ideAmbiente in exclusao.ideAmbiente:
        
                            if 'codAmb' in dir(ideAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'ideAmbiente.codAmb',
                                                                  ideAmbiente.codAmb.cdata,
                                                                  1, u'None')
        
                            if 'iniValid' in dir(ideAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'ideAmbiente.iniValid',
                                                                  ideAmbiente.iniValid.cdata,
                                                                  1, u'None')
        
                            if 'fimValid' in dir(ideAmbiente):
                                validacoes_lista = validar_campo( validacoes_lista,
                                                                  'ideAmbiente.fimValid',
                                                                  ideAmbiente.fimValid.cdata,
                                                                  0, u'None')
    return validacoes_lista