קובץ:Edit rates by users and bots on wikimedia Commons 2012-07-09 19H33M over three hours.svg

תוכן הדף אינו נתמך בשפות אחרות.
מתוך ויקיפדיה, האנציקלופדיה החופשית

לקובץ המקורי(קובץ SVG, הגודל המקורי: 1,093 × 823 פיקסלים, גודל הקובץ: 67 ק"ב)

ויקישיתוף זהו קובץ שמקורו במיזם ויקישיתוף. תיאורו בדף תיאור הקובץ המקורי (בעברית) מוצג למטה.

תקציר

תיאור
English: Plots showing how edits rates evolve on Wikimedia Commons minute by minute over a course of three hours beginning 2012-07-09 11:33 (UTC). The edit are sorted into user edits and edits by bots. Individual bots, whihc never exceed the default bot edit rate of 6 edits per minute is collapsed as Other bots (accumulated). Bots, which edit at higher edit rates during this period, are plotted individually. The total accumulated edit rate combining bots and users is also shown. The data has been gathered using SlaungerBot to traverse through the last 1850 recent bot changes, accumulate user changes over the same period and then plot the data using matplolib.
תאריך יצירה
מקור נוצר על־ידי מעלה היצירה
יוצר Slaunger
SVGהתפתחות 
InfoField
W3C red 
קוד המקור של קובץ SVG זה הוא לא תקין בגלל 23 שגיאות.
Created with Matplotlib-logo 
Matplotlib עם‎‎ נוצרה ה W3C-לא תקין גרפיקה וקטורית
Gnome-mime-application-x-font-ttf 
The file size of this SVG plot may be irrationally large because its text has been converted to paths inhibiting translations.
קוד מקור
InfoField

Python code

'''
Created on 09/07/2012

@author: Kim
'''

from calendar import timegm
from time import strptime, strftime, gmtime

from numpy import arange
from pylab import plot, xlabel, ylabel, legend, grid, title, show, axhline, figure

import wikipedia as pywikibot

bot_edit_rates = {}
user_edit_rates = {}
secs_per_min = 60
default_max_bot_edit_rate_per_minute = 6
recentedits = 1850

try:
    site = pywikibot.getSite()
    for i, item in enumerate(site.recentchanges(number=recentedits, rcshow="bot")):
        utc_sec = timegm(strptime(item[1], "%Y-%m-%dT%H:%M:%SZ"))
        bot_str = item[4]
        utc_min = utc_sec / secs_per_min
        edit_rates = bot_edit_rates.setdefault(bot_str, {})
        if edit_rates.has_key(utc_min):
            edit_rates[utc_min] += 1
        else:
            edit_rates[utc_min] = 1
        if i == 0:
            last_bot_edit = utc_sec
    first_bot_edit = utc_sec

    for item in site.recentchanges(number=5000, rcshow="!bot"):
        utc_sec = timegm(strptime(item[1], "%Y-%m-%dT%H:%M:%SZ"))
        if utc_sec > last_bot_edit:
            continue
        if utc_sec < first_bot_edit:
            print "BREAK"
            break 
        utc_min = utc_sec / secs_per_min
        if user_edit_rates.has_key(utc_min):
            user_edit_rates[utc_min] += 1
        else:
            user_edit_rates[utc_min] = 1
    
finally:
    pywikibot.stopme()
    
fast_bots = []
for bot_str, edit_rates in bot_edit_rates.iteritems(): 
    if max(edit_rates.itervalues()) > default_max_bot_edit_rate_per_minute:
        fast_bots.append(bot_str)
fast_bots = frozenset(fast_bots)    
    
utc_min_minimum = first_bot_edit / 60 + 1
utc_min_maximum = last_bot_edit / 60 - 1
minutes_after_first_bot_edit = arange(utc_min_maximum + 1 - utc_min_minimum)

accum_edit_rate = []
other_bots_edit_rates = []

figure(figsize=(12,9))

for utc_min in xrange(utc_min_minimum, utc_min_maximum + 1):
    edit_rate = user_edit_rates.get(utc_min, 0)
    other_bots_edit_rate = 0
    for bot_str, ber in bot_edit_rates.iteritems():
        edit_rate += ber.get(utc_min, 0)
        if bot_str not in fast_bots:
            other_bots_edit_rate += ber.get(utc_min, 0)
    accum_edit_rate.append(edit_rate)
    other_bots_edit_rates.append(other_bots_edit_rate)
plot(minutes_after_first_bot_edit, accum_edit_rate, '-', c='green', label="All edits", lw=2, alpha = 0.8)

edit_rate_arr = [user_edit_rates.get(utc_min, 0) for utc_min in xrange(utc_min_minimum, utc_min_maximum + 1)]
plot(minutes_after_first_bot_edit, edit_rate_arr, c='k', label="User edits", lw=1.5, alpha=0.8)

for bot_str in bot_edit_rates:
    if bot_str in fast_bots:
        d = bot_edit_rates[bot_str]
        edit_rate_arr = [d.get(utc_min, 0) for utc_min in xrange(utc_min_minimum, utc_min_maximum + 1)]
        plot(minutes_after_first_bot_edit, edit_rate_arr, ls="-", lw=2.5, label=repr(bot_str)[2:-1], alpha=0.8)

axhline(default_max_bot_edit_rate_per_minute, ls='--', c="red", label="Default max bot edit rate")
plot(minutes_after_first_bot_edit, other_bots_edit_rates, c="b", label="Other bots (accumulated)", alpha=0.8)


xlabel('Elapsed minutes')
ylabel('Edit rate [edits/min]')
title("Edit rates on Wikimedia Commons from %s" % strftime("%Y-%m-%d %H:%M (UTC)", gmtime(utc_min_minimum * secs_per_min)))
legend()
grid()
show()

רישיון

אני, בעל זכויות היוצרים על עבודה זו, מפרסם בזאת את העבודה תחת הרישיון הבא:
w:he:Creative Commons
ייחוס שיתוף זהה
הקובץ הזה מתפרסם לפי תנאי רישיון קריאייטיב קומונז ייחוס-שיתוף זהה 3.0 לא מותאם.
הנכם רשאים:
  • לשתף – להעתיק, להפיץ ולהעביר את העבודה
  • לערבב בין עבודות – להתאים את העבודה
תחת התנאים הבאים:
  • ייחוס – יש לתת ייחוס הולם, לתת קישור לרישיון, ולציין אם נעשו שינויים. אפשר לעשות את זה בכל צורה סבירה, אבל לא בשום צורה שמשתמע ממנה שמעניק הרישיון תומך בך או בשימוש שלך.
  • שיתוף זהה – אם תיצרו רמיקס, תשנו, או תבנו על החומר, חובה עליכם להפיץ את התרומות שלך לפי תנאי רישיון זהה או תואם למקור.

כיתובים

נא להוסיף משפט שמסביר מה הקובץ מייצג

פריטים שמוצגים בקובץ הזה

מוצג

היסטוריית הקובץ

ניתן ללחוץ על תאריך/שעה כדי לראות את הקובץ כפי שנראה באותו זמן.

תאריך/שעהתמונה ממוזערתממדיםמשתמשהערה
נוכחית01:58, 10 ביולי 2012תמונה ממוזערת לגרסה מ־01:58, 10 ביולי 2012‪823 × 1,093‬ (67 ק"ב)Slaunger

אין בוויקיפדיה דפים המשתמשים בקובץ זה.