예제 #1
0
    def requires(self):
        # The end date is not included in the result, so we have to add a day
        # to the provided date in order to ensure user registration data is
        # gathered for that date.
        end_date = self.date + timedelta(1)

        # In order to compute the cumulative sum of user registrations we need
        # all changes in registrations up to (and including) the provided date.
        registrations = UserRegistrationsPerDay(credentials=self.credentials,
                                                destination=self.destination,
                                                date_interval=Custom(
                                                    MINIMUM_DATE, end_date))

        results = {
            'enrollments':
            CourseEnrollmentChangesPerDay(
                name=self.name,
                src=self.src,
                dest=self.destination,
                include=self.include,
                manifest=self.manifest,
                mapreduce_engine=self.mapreduce_engine,
                lib_jar=self.lib_jar,
                n_reduce_tasks=self.n_reduce_tasks),
            'registrations':
            registrations
        }
        if self.offsets:
            results.update({'offsets': ExternalURL(self.offsets)})
        if self.history:
            results.update({'history': ExternalURL(self.history)})
        if self.blacklist:
            results.update({'blacklist': ExternalURL(self.blacklist)})

        return results
 def requires(self):
     return CourseEnrollmentChangesPerDay(
         mapreduce_engine=self.mapreduce_engine,
         lib_jar=self.lib_jar,
         n_reduce_tasks=self.n_reduce_tasks,
         name=self.name,
         src=self.src,
         dest=self.dest,
         include=self.include,
         manifest=self.manifest,
         overwrite=self.overwrite,
         run_date=self.run_date)
예제 #3
0
    def requires(self):
        results = {
            'source': CourseEnrollmentChangesPerDay(
                name=self.name,
                src=self.src,
                dest=self.destination,
                include=self.include,
                manifest=self.manifest,
                mapreduce_engine=self.mapreduce_engine,
                lib_jar=self.lib_jar,
                n_reduce_tasks=self.n_reduce_tasks
            )
        }
        if self.offsets:
            results.update({'offsets': ExternalURL(self.offsets)})
        if self.statuses:
            results.update({'statuses': ExternalURL(self.statuses)})

        return results
 def requires(self):
     end_date = self.date + timedelta(1)
     results = {
         'enrollments':
         CourseEnrollmentChangesPerDay(
             name=self.name,
             src=self.src,
             dest=self.destination,
             include=self.include,
             manifest=self.manifest,
             mapreduce_engine=self.mapreduce_engine,
             lib_jar=self.lib_jar,
             n_reduce_tasks=self.n_reduce_tasks),
         'registrations':
         UserRegistrationsPerDay(credentials=self.credentials,
                                 destination=self.destination,
                                 date_interval=Custom(
                                     MINIMUM_DATE, end_date)),
     }
     if self.blacklist:
         results.update({'blacklist': ExternalURL(self.blacklist)})
     return results