<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def eps_from_series(self):
 """ Workhorse function that handles grabbing series data from csvs and requesting episodal information from RSS feeds """

    csvs = []
    for _, _, filenames in os.walk('./{}'.format(self.directory)):
      csvs.extend(filenames)

    series_set = set()
    for c in csvs:
      file_name = './{}/{}'.format(self.directory, c)
      reader = csv.DictReader(open(file_name, 'rb'))
      for line in reader:
        series_set.add(Series.from_line(line))

    series = [s for s in series_set]
    series_q = Queue(len(series))
    for s in series:
      series_q.put(s)

    for _ in xrange(0, self.num_threads):
      t = EpisodeWorker(self.storer, series_q)
      t.daemon = True
      t.start()

    series_q.join()