Пример #1
0
        private static WatchlistBE PopulateWatchlist(IDataRecord dr)
        {
            WatchlistBE watch = new WatchlistBE();

            watch.UserID = DbUtils.Convert.To <uint>(dr["wl_user"], 0);
            watch.Title  = Title.FromDbPath((NS)DbUtils.Convert.To <uint>(dr["wl_namespace"]).Value, GetUTF8String(dr, "wl_title"), null);
            return(watch);
        }
Пример #2
0
        public static Dictionary <Site, List <WatchlistBE> > GetWatchlistBySite()
        {
            Dictionary <Site, List <WatchlistBE> > watchlistBySite = new Dictionary <Site, List <WatchlistBE> >();

            foreach (Site site in MediaWikiConverterContext.Current.MWSites)
            {
                List <WatchlistBE> watchlist = new List <WatchlistBE>();
                watchlistBySite[site] = watchlist;
                MediaWikiConverterContext.Current.MWCatalog.NewQuery(String.Format("SELECT wl_user, wl_namespace, wl_title FROM {0}watchlist", site.DbPrefix)).Execute(delegate(IDataReader dr) {
                    while (dr.Read())
                    {
                        WatchlistBE watch = PopulateWatchlist(dr);
                        if (IsSupportedNamespace(watch.Title))
                        {
                            watchlist.Add(watch);
                        }
                    }
                });
            }
            return(watchlistBySite);
        }
Пример #3
0
 public static void InsertDWWatch(WatchlistBE watch)
 {
     MediaWikiConverterContext.Current.DWCatalog.NewQuery(String.Format("REPLACE into watchlist (wl_user, wl_namespace, wl_title) VALUES ({0}, '{1}', '{2}')",
                                                                        watch.UserID, (uint)watch.Title.Namespace, DataCommand.MakeSqlSafe(watch.Title.AsUnprefixedDbPath()))).Execute();
 }