<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.creativecommons.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Robert+Gust%E2%80%90Bardon</id>
		<title>Creative Commons - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.creativecommons.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Robert+Gust%E2%80%90Bardon"/>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/wiki/Special:Contributions/Robert_Gust%E2%80%90Bardon"/>
		<updated>2026-05-11T07:51:07Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Rewrite_Metadata_Validator/SoC_2008/IRC_Scanner&amp;diff=33881</id>
		<title>Rewrite Metadata Validator/SoC 2008/IRC Scanner</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Rewrite_Metadata_Validator/SoC_2008/IRC_Scanner&amp;diff=33881"/>
				<updated>2010-04-19T21:12:58Z</updated>
		
		<summary type="html">&lt;p&gt;Robert Gust‐Bardon: Python 2.6 and Python 3.1 translation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If one wants to search for his or her activity at [[IRC|the IRC channel of Creative Commons]], he or she can use [http://www.google.com/search?&amp;amp;q=john+site%3Ahttp%3A%2F%2Fmirrors.creativecommons.org%2Firc%2Fcc%2F Google] or the following public domain script written in PHP 5:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$nick = 'john';&lt;br /&gt;
$path = 'http://mirrors.creativecommons.org/irc/cc/';&lt;br /&gt;
preg_match_all('/%23cc\.'.date('Y').'\-\d\d\-\d\d\.log\.html/', file_get_contents($path), $matches);&lt;br /&gt;
$irrelevant = array();&lt;br /&gt;
if (file_exists('irrelevant.txt')) {&lt;br /&gt;
    $irrelevant = unserialize(file_get_contents('irrelevant.txt'));&lt;br /&gt;
}&lt;br /&gt;
foreach ($matches[0] as $url) {&lt;br /&gt;
    if (file_exists('relevant/'.($filename = str_replace('%23', '', $url)))&lt;br /&gt;
     || in_array($filename, $irrelevant)) {&lt;br /&gt;
        echo 'Skipped ', $filename, PHP_EOL;&lt;br /&gt;
        continue;&lt;br /&gt;
    }&lt;br /&gt;
    $contents = file_get_contents($path.$url);&lt;br /&gt;
    if (!strstr($contents, $nick.'&amp;lt;/th&amp;gt;&amp;lt;td class=&amp;quot;text&amp;quot;')) {&lt;br /&gt;
        echo 'Irrelevant ', $filename, PHP_EOL;&lt;br /&gt;
        $irrelevant[] = $filename;&lt;br /&gt;
        continue;  &lt;br /&gt;
    }&lt;br /&gt;
    file_put_contents('relevant/'.$filename, $contents);&lt;br /&gt;
    echo 'Downloaded ', $filename, PHP_EOL;&lt;br /&gt;
}&lt;br /&gt;
file_put_contents('irrelevant.txt', serialize($irrelevant));&lt;br /&gt;
echo 'Saved irrelevant.txt', PHP_EOL;&amp;lt;/source&amp;gt;&lt;br /&gt;
Please note that the herewith enclosed script searches the logs saved the current year. All relevant logs are downloaded to the local machine.&lt;br /&gt;
&lt;br /&gt;
What follows is the above program translated into Python 2.6 and Python 3.1.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import datetime&lt;br /&gt;
import os&lt;br /&gt;
import pickle&lt;br /&gt;
import re&lt;br /&gt;
try:&lt;br /&gt;
    import urllib.request as connection&lt;br /&gt;
except ImportError:&lt;br /&gt;
    import urllib as connection&lt;br /&gt;
&lt;br /&gt;
nick = 'john'&lt;br /&gt;
path = 'http://mirrors.creativecommons.org/irc/cc/'&lt;br /&gt;
irrelevant = []&lt;br /&gt;
if os.path.exists('irrelevant.txt'):&lt;br /&gt;
    f = open('irrelevant.txt', 'r')&lt;br /&gt;
    irrelevant = pickle.load(f)&lt;br /&gt;
    f.close()&lt;br /&gt;
conn = connection.urlopen(path)&lt;br /&gt;
index = conn.read().decode('utf-8', 'ignore')&lt;br /&gt;
conn.close()&lt;br /&gt;
if not os.path.isdir('relevant'):&lt;br /&gt;
    os.mkdir('relevant')&lt;br /&gt;
for url in re.findall('%23cc\.{0}\-\d\d\-\d\d\.log\.html'.\&lt;br /&gt;
                      format(datetime.date.today().year), index):&lt;br /&gt;
    filename, contents = url.replace('%23', ''), ''&lt;br /&gt;
    if os.path.exists('relevant/{0}'.format(filename)) or \&lt;br /&gt;
       filename in irrelevant:&lt;br /&gt;
        print('Skipped {0}'.format(filename))&lt;br /&gt;
        continue&lt;br /&gt;
    conn = connection.urlopen('{0}{1}'.format(path, url))&lt;br /&gt;
    contents = conn.read().decode('utf-8', 'ignore')&lt;br /&gt;
    conn.close()&lt;br /&gt;
    if contents.find('{0}&amp;lt;/th&amp;gt;&amp;lt;td class=&amp;quot;text&amp;quot;'.format(nick)) == -1:&lt;br /&gt;
        print('Irrelevant {0}'.format(filename))&lt;br /&gt;
        irrelevant.append(filename)&lt;br /&gt;
        continue&lt;br /&gt;
    f = open('relevant/{0}'.format(filename), 'w')&lt;br /&gt;
    f.write(str(contents.encode('ascii', 'xmlcharrefreplace')))&lt;br /&gt;
    f.close()&lt;br /&gt;
    print('Downloaded {0}'.format(filename))&lt;br /&gt;
f = open('irrelevant.txt', 'w+')&lt;br /&gt;
pickle.dump(irrelevant, f)&lt;br /&gt;
f.close()&lt;br /&gt;
print('Saved irrelevant.txt')&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robert Gust‐Bardon</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Content_Attributor&amp;diff=32426</id>
		<title>Content Attributor</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Content_Attributor&amp;diff=32426"/>
				<updated>2010-03-23T17:24:01Z</updated>
		
		<summary type="html">&lt;p&gt;Robert Gust‐Bardon: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer]]&lt;br /&gt;
[[Category:Metadata]]&lt;br /&gt;
[[Category:Project]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
“Content Attributor” is a [http://www.w3.org/TR/webarch/#index user agent] extension that facilitates the attribution of the content available under a [http://creativecommons.org/about/licenses Creative Commons license]. Should such content be present at a loaded Web page, the extension notifies the user that this kind of resources have been detected. Moreover, the extension can display each of these resources and generate appropriate attribution information (as plain text and as [http://www.w3.org/TR/rdfa-syntax/ RDFa in XHTML]).&lt;br /&gt;
&lt;br /&gt;
The extension is available under [http://www.gnu.org/licenses/gpl.txt GNU General Public License] as published by the [http://www.fsf.org/ Free Software Foundation], either version 3 of the License, or (at your option) any later version.&lt;br /&gt;
&lt;br /&gt;
== Supported user agents ==&lt;br /&gt;
“Content Attributor” requires [http://www.mozilla.com/firefox/ Mozilla Firefox] 3.5.8 or newer.&lt;/div&gt;</summary>
		<author><name>Robert Gust‐Bardon</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Content_Attributor&amp;diff=32425</id>
		<title>Content Attributor</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Content_Attributor&amp;diff=32425"/>
				<updated>2010-03-23T15:20:43Z</updated>
		
		<summary type="html">&lt;p&gt;Robert Gust‐Bardon: License statement and minor changes on the terminology&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer]]&lt;br /&gt;
[[Category:Metadata]]&lt;br /&gt;
[[Category:Project]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
“Content Attributor” is a user agent extension that facilitates the attribution of the content available under [http://creativecommons.org/about/licenses a Creative Commons license]. Should such content be present at a loaded Web page, the extension notifies the user that this kind of resources have been detected. Moreover, the extension can display each of these resources and generate appropriate attribution information (as plain text and as [http://www.w3.org/TR/rdfa-syntax/ RDFa in XHTML]).&lt;br /&gt;
&lt;br /&gt;
The extension is available under [http://www.gnu.org/licenses/gpl.txt GNU General Public License] as published by the [http://www.fsf.org/ Free Software Foundation], either version 3 of the License, or (at your option) any later version.&lt;br /&gt;
&lt;br /&gt;
== Supported user agents ==&lt;br /&gt;
“Content Attributor” requires [http://www.mozilla.com/firefox/ Mozilla Firefox] 3.5.8 or newer.&lt;/div&gt;</summary>
		<author><name>Robert Gust‐Bardon</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Content_Attributor&amp;diff=32424</id>
		<title>Content Attributor</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Content_Attributor&amp;diff=32424"/>
				<updated>2010-03-23T14:37:54Z</updated>
		
		<summary type="html">&lt;p&gt;Robert Gust‐Bardon: Brief description of the extension and the list of supported browsers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Challenge]]&lt;br /&gt;
[[Category:Developer]]&lt;br /&gt;
[[Category:Metadata]]&lt;br /&gt;
[[Category:Opensource]]&lt;br /&gt;
[[Category:Project]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
“Content Attributor” is a Web client extension that facilitates the attribution of the content available under a Creative Commons license. Should such content be present at a loaded Web page, the extension notifies the user that this kind of resources have been detected. Moreover, the extension can display each of these resources and generate appropriate attribution information (as plain text and as [http://www.w3.org/TR/rdfa-syntax/ RDFa in XHTML]).&lt;br /&gt;
&lt;br /&gt;
== Supported browsers ==&lt;br /&gt;
“Content Attributor” requires [http://www.mozilla.com/firefox/ Mozilla Firefox] 3.5.8 or newer.&lt;/div&gt;</summary>
		<author><name>Robert Gust‐Bardon</name></author>	</entry>

	</feed>