def get(self, singleSnapshot=False):
        """
        *geneate the pyephem positions*

        **Key Arguments:**
            -  ``singleSnapshot`` -- just extract positions for a single pyephem snapshot (used for unit testing)

        **Return:**
            - ``None``
        """
        self.log.info('starting the ``get`` method')

        global xephemOE
        global tileSide
        global magLimit

        # GRAB PARAMETERS FROM SETTINGS FILE
        tileSide = float(self.settings["pyephem"]["atlas exposure match side"])
        magLimit = float(self.settings["pyephem"]["magnitude limit"])

        snapshotsRequired = 1
        while snapshotsRequired > 0:
            nextMjds, exposures, snapshotsRequired = self._get_exposures_requiring_pyephem_positions(
                concurrentSnapshots=int(self.settings["pyephem"]["batch size"]))
            print "There are currently %(snapshotsRequired)s more pyephem snapshots required " % locals()
            if snapshotsRequired == 0:
                return

            if len(xephemOE) == 0:
                xephemOE = self._get_xephem_orbital_elements()

            # DEFINE AN INPUT ARRAY
            magLimit = self.settings["pyephem"]["magnitude limit"]
            pyephemDB = fmultiprocess(log=self.log, function=_generate_pyephem_snapshot, timeout=300,
                                      inputArray=nextMjds, magLimit=magLimit)

            matchedObjects = []
            for p, e, m in zip(pyephemDB, exposures, nextMjds):
                matchedObjects.append(
                    self._match_pyephem_snapshot_to_atlas_exposures(p, e, m))

            self._add_matched_objects_to_database(matchedObjects)
            self._update_database_flag(exposures)

            if singleSnapshot:
                snapshotsRequired = 0

        self.log.info('completed the ``get`` method')
        return None