Search in sources :

Example 1 with Flattr

use of org.shredzone.flattr4j.model.Flattr in project AntennaPod by AntennaPod.

the class DBWriter method setFlattredStatus.

/**
     * Set flattr status of the feeds/feeditems in flattrList to flattred at the given timestamp,
     * where the information has been retrieved from the flattr API
     */
public static Future<?> setFlattredStatus(final List<Flattr> flattrList) {
    Log.d(TAG, "setFlattredStatus to status retrieved from flattr api running with " + flattrList.size() + " items");
    // clear flattr status in db
    clearAllFlattrStatus();
    // submit list with flattred things having normalized URLs to db
    return dbExec.submit(() -> {
        PodDBAdapter adapter = PodDBAdapter.getInstance();
        adapter.open();
        for (Flattr flattr : flattrList) {
            adapter.setItemFlattrStatus(formatURIForQuery(flattr.getThing().getUrl()), new FlattrStatus(flattr.getCreated().getTime()));
        }
        adapter.close();
    });
}
Also used : Flattr(org.shredzone.flattr4j.model.Flattr) FlattrStatus(de.danoeh.antennapod.core.util.flattr.FlattrStatus)

Example 2 with Flattr

use of org.shredzone.flattr4j.model.Flattr in project AntennaPod by AntennaPod.

the class FlattrUtils method retrieveFlattredThings.

public static List<Flattr> retrieveFlattredThings() throws FlattrException {
    ArrayList<Flattr> myFlattrs = new ArrayList<Flattr>();
    if (hasToken()) {
        FlattrService fs = FlattrServiceCreator.getService(retrieveToken());
        Calendar firstOfMonth = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
        firstOfMonth.set(Calendar.MILLISECOND, 0);
        firstOfMonth.set(Calendar.SECOND, 0);
        firstOfMonth.set(Calendar.MINUTE, 0);
        firstOfMonth.set(Calendar.HOUR_OF_DAY, 0);
        firstOfMonth.set(Calendar.DAY_OF_MONTH, Calendar.getInstance().getActualMinimum(Calendar.DAY_OF_MONTH));
        Date firstOfMonthDate = firstOfMonth.getTime();
        // subscriptions some times get flattrd slightly before midnight - give it an hour leeway
        firstOfMonthDate = new Date(firstOfMonthDate.getTime() - 60 * 60 * 1000);
        final int FLATTR_COUNT = 30;
        final int FLATTR_MAXPAGE = 5;
        for (int page = 0; page < FLATTR_MAXPAGE; page++) {
            for (Flattr fl : fs.getMyFlattrs(FLATTR_COUNT, page)) {
                if (fl.getCreated().after(firstOfMonthDate))
                    myFlattrs.add(fl);
                else
                    break;
            }
        }
        Log.d(TAG, "Got my flattrs list of length " + Integer.toString(myFlattrs.size()) + " comparison date" + firstOfMonthDate);
        for (Flattr fl : myFlattrs) {
            Thing thing = fl.getThing();
            Log.d(TAG, "Flattr thing: " + fl.getThingId() + " name: " + thing.getTitle() + " url: " + thing.getUrl() + " on: " + fl.getCreated());
        }
    } else {
        Log.e(TAG, "retrieveFlattrdThings was called with null access token");
    }
    return myFlattrs;
}
Also used : Flattr(org.shredzone.flattr4j.model.Flattr) FlattrService(org.shredzone.flattr4j.FlattrService) Calendar(java.util.Calendar) ArrayList(java.util.ArrayList) Date(java.util.Date) Thing(org.shredzone.flattr4j.model.Thing)

Aggregations

Flattr (org.shredzone.flattr4j.model.Flattr)2 FlattrStatus (de.danoeh.antennapod.core.util.flattr.FlattrStatus)1 ArrayList (java.util.ArrayList)1 Calendar (java.util.Calendar)1 Date (java.util.Date)1 FlattrService (org.shredzone.flattr4j.FlattrService)1 Thing (org.shredzone.flattr4j.model.Thing)1