def _mailSomeFailed(self, result): """ If one of more recipients were not send an SMTP message update mailMessage object. result: (NumOk, [(emailAddress, serverStatusCode, serverResponseString)]) Collect all results that do not have a 250 and form a string for .4B """ if __debug__: trace("_mailSomeFailed") # The isOnline check is performed in the Twisted thread # so pass in a view. if self.shuttingDown or not Globals.mailService.isOnline(self.view) or \ self.cancel: return self._resetClient() try: #On error cancel any changes done in the view self.view.cancel() except: pass errors = [] for recipient in result[1]: email, code, st = recipient if recipient[1] != SMTP_SUCCESS: errors.append(u"%s: %s" % (email, st)) if errors: # Add the error strings to the items error attribute self.mailMessage.itsItem.error = u", ".join(errors)
def check(self) -> List[str]: """ Check that the transition table is valid: - all existent states have a valid transition for any character (i.e. have a default transition) - all existent states are reachable from state 0 throguh at least one transition sequence :return: a list of error messages """ errors = [] all_states = set() for state, trans in self.transitions.items(): all_states.add(state) all_states.update(s for s in trans.values() if not isinstance(s, Error)) for state in all_states: trans = self.transitions[state] if state not in self.finalizers and state != 0 and None not in trans: errors.append( "State %d is not final and does not have a default transition. Add an error?" % state) reachable = set() dead_end = set() self._check_reachable_states(0, reachable, dead_end) errors.extend("Unreachable state %d" % s for s in all_states - reachable) errors.extend("State %d is a dead end" % s for s in dead_end) self.checked = True return errors
def _mailSomeFailed(self, result): """ If one of more recipients were not send an SMTP message update mailMessage object. result: (NumOk, [(emailAddress, serverStatusCode, serverResponseString)]) Collect all results that do not have a 250 and form a string for .4B """ if __debug__: trace("_mailSomeFailed") # The isOnline check is performed in the Twisted thread # so pass in a view. if self.shuttingDown or not Globals.mailService.isOnline(self.view) or \ self.cancel: return self._resetClient() try: #On error cancel any changes done in the view self.view.cancel() except: pass errors = [] for recipient in result[1]: email, code, st = recipient if recipient[1] != SMTP_SUCCESS: errors.append( u"%s: %s" % (email, st)) if errors: # Add the error strings to the items error attribute self.mailMessage.itsItem.error = u", ".join(errors)
def _RetrieveAllMetadata(reader): # Get metadata both from the master file and YouTube. metadata = {} speakers_count = 0 for r in reader: speakers = _StrToUnicode(r[config.FIELD_SPEAKERS]) if speakers: speakers_count += 1 metadata[r[config.FIELD_VIDEO_ID]] = { config.FIELD_TITLE: _SafeString(r[config.FIELD_TITLE]), config.FIELD_DESC: _SafeString(r[config.FIELD_DESC]), config.FIELD_SPEAKERS: speakers } yt_service = youtube_service.YTSnippetService() yt_results = yt_service.ListVideos( sorted(k for k, v in metadata.iteritems() if v[config.FIELD_EVENT] in categories.YOUTUBE_CATS)) # Compare, only show differences yt_count = 0 same_title_count = 0 same_desc_count = 0 errors = [] for video_id, yt_dict in yt_results.iteritems(): yt_count += 1 if video_id not in metadata: errors.append('%s not in metadata!.' % video_id) continue yt_title = _SafeString(yt_dict[config.FIELD_TITLE]) if metadata[video_id][config.FIELD_TITLE] == yt_title: same_title_count += 1 del metadata[video_id][config.FIELD_TITLE] else: yt_key = '%s_%s' % (config.FIELD_TITLE, config.FIELD_YOUTUBE) metadata[video_id][yt_key] = ( yt_title, _ShowDiff(yt_title, metadata[video_id][config.FIELD_TITLE])) yt_desc = _SafeString(yt_dict[config.FIELD_DESC]) if metadata[video_id][config.FIELD_DESC] == yt_desc: same_desc_count += 1 del metadata[video_id][config.FIELD_DESC] if config.FIELD_TITLE not in metadata[video_id]: if ((config.FIELD_SPEAKERS in metadata[video_id]) and (not metadata[video_id][config.FIELD_SPEAKERS])): del metadata[video_id][config.FIELD_SPEAKERS] if config.FIELD_SPEAKERS not in metadata[video_id]: del metadata[video_id] else: yt_key = '%s_%s' % (config.FIELD_DESC, config.FIELD_YOUTUBE) metadata[video_id][yt_key] = ( yt_desc, _ShowDiff(yt_desc, metadata[video_id][config.FIELD_DESC])) stats = [yt_count, same_title_count, same_desc_count, speakers_count] return metadata, errors, stats
def checkTagDefinitions(): if len(__tagsWaitingForRules) > 0: errors = [] for r in __tagsWaitingForRules: errors.append(" target '%s':" % r) for t in __tagsWaitingForRules[r]: errors.append(' at %s' % t.location()) errors = '\n'.join(errors) raise ReaderError(None, "tag definitions for nonexistent rules:\n%s" % errors)
def checkTagDefinitions(): if len(__tagsWaitingForRules) > 0: errors = [] for r in __tagsWaitingForRules: errors.append(" target '%s':" % r) for t in __tagsWaitingForRules[r]: errors.append(' at %s' % t.location()) errors = '\n'.join(errors) raise ReaderError( None, "tag definitions for nonexistent rules:\n%s" % errors)
def main(): """ Create a simple network with one hidden layer and train it to compute the xor between its arguments. """ training_examples = [ ([0, 0], [0]), ([0, 1], [1]), ([1, 0], [1]), ([1, 1], [0])] nnet = NeuralNetwork([2, 2, 1]) history, i, avg_error = list(), 1, 1 axis_error, axis_lrate = setup_plot() errors, lrates = list(), list() while avg_error > 0.0025 and i < 25000: i += 1 learning_rate = 10000.0 / (5000.0 + i) input, correct_output = training_examples[randint(0, len(training_examples) - 1)] actual_output = nnet.value(input) history.append(nnet.backpropagate(correct_output, actual_output, learning_rate)) if i % 1000 == 0: print 'iteration ', i, 'error', avg_error if i % 100 == 0: avg_error = sum(history) / float(len(history)) history = [] errors.append(avg_error) lrates.append(learning_rate) axis_lrate.plot(range(0, i, 100), lrates, '-g', label='Learning rate') axis_error.plot(range(0, i, 100), errors, '-b', label='Training error') h0, l0 = axis_error.get_legend_handles_labels() h1, l1 = axis_lrate.get_legend_handles_labels() plt.legend([h0[0], h1[0]], [l0[0], l1[0]]) plt.show()