<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Haiku/BeOS Tip Server &#187; Scripting</title>
	<atom:link href="http://betips.net/category/scripting/feed/" rel="self" type="application/rss+xml" />
	<link>http://betips.net</link>
	<description>Tips and tricks for Haiku/BeOS users</description>
	<lastBuildDate>Sun, 22 Nov 2009 17:48:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Use a filepanel in your script</title>
		<link>http://betips.net/2009/09/25/use-a-filepanel-in-your-script/</link>
		<comments>http://betips.net/2009/09/25/use-a-filepanel-in-your-script/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 10:47:11 +0000</pubDate>
		<dc:creator>Michel Clasquin-Johnson</dc:creator>
				<category><![CDATA[Haiku]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Terminal]]></category>

		<guid isPermaLink="false">http://betips.net/?p=740</guid>
		<description><![CDATA[BeOS has long had the alert command. With alert, you can put up a little message on the screen with one to three buttons:
alert &#8220;Hello World&#8221; &#8220;go away&#8221; &#8220;hello&#8221; &#8220;ok&#8221;
With Haiku alpha1, the dev team seems to have slipped something else in quietly: filepanel
filepanel -d ~/Desktop -t &#8220;Open a File&#8221;

filepanel returns the full pathname of [...]]]></description>
			<content:encoded><![CDATA[<p>BeOS has long had the <em>alert</em> command. With alert, you can put up a little message on the screen with one to three buttons:</p>
<p><em>alert &#8220;Hello World&#8221; &#8220;go away&#8221; &#8220;hello&#8221; &#8220;ok&#8221;</em></p>
<p>With Haiku alpha1, the dev team seems to have slipped something else in quietly: <em>filepanel</em></p>
<p><em>filepanel -d ~/Desktop -t &#8220;Open a File&#8221;</em></p>
<p><img class="size-medium wp-image-745 alignleft" title="fp" src="http://betips.net/wp-content/uploads/2009/09/fp-300x222.jpg" alt="fp" width="300" height="222" /></p>
<p><em>filepanel</em> returns the full pathname of the selected file to standard output. This means that scripts can now ask the user where an app should be installed, for example, or whether to put a symlink in the Deskbar menu and what to call it.</p>
<p>Documentation seems limited to running <em>filepanel</em> with the <em>&#8211;help</em> parameter.</p>
]]></content:encoded>
			<wfw:commentRss>http://betips.net/2009/09/25/use-a-filepanel-in-your-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Batch-changing filename cases</title>
		<link>http://betips.net/1997/09/09/batch-changing-filename-cases/</link>
		<comments>http://betips.net/1997/09/09/batch-changing-filename-cases/#comments</comments>
		<pubDate>Tue, 09 Sep 1997 09:36:29 +0000</pubDate>
		<dc:creator>shacker</dc:creator>
				<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.birdhouse.org/betips/?p=86</guid>
		<description><![CDATA[On occassion, you may find it useful to be able to change all the filenames in a directory from UPPERCASE to lowercase, or vice versa. This will be particularly true if you&#8217;re copying over file from a Windows 95/98 partition, since Windows is so inconsistent with its case handling. Here&#8217;s a shell script you can [...]]]></description>
			<content:encoded><![CDATA[<p>On occassion, you may find it useful to be able to change all the filenames in a directory from UPPERCASE to lowercase, or vice versa. This will be particularly true if you&#8217;re copying over file from a Windows 95/98 partition, since Windows is so inconsistent with its case handling. Here&#8217;s a shell script you can use to automate the process. Type or copy the following lines into Terminal, one at a time:</p>
<pre>
for i in * ; do
  j=`echo $i|tr 'A-Z' 'a-z'`
  mv "$i" "$j"
done
</pre>
<p>  To change from lowercase to uppercase, reverse the order of &#8216;A-Z&#8217; &#8216;a-z&#8217;. The script requires that the <b>tr</b> utility be in your /bin/ directory, which it should be by default. If you think you&#8217;ll use this often, make a script out of it for later use. Paste the above into a text file, but add the line <code></p>
<p></code> to the top, as the first line. Save it with the name &#8220;lowercase.&#8221; Then make it executable by typing <b>chmod 755 lowercase</b> into Terminal. Edit the file again to do the uppercasing trick, and save the new file as &#8220;uppercase.&#8221; Run chmod on that too. Move both of these files to your /boot/home/config/bin/ directory, and they&#8217;ll always be available to you from the command line.</p>
<p> If you&#8217;d rather download these scripts, ready to run, you can get them <a href="/software/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://betips.net/1997/09/09/batch-changing-filename-cases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Renaming batches of files</title>
		<link>http://betips.net/1997/09/09/renaming-batches-of-files/</link>
		<comments>http://betips.net/1997/09/09/renaming-batches-of-files/#comments</comments>
		<pubDate>Tue, 09 Sep 1997 09:36:29 +0000</pubDate>
		<dc:creator>shacker</dc:creator>
				<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.birdhouse.org/betips/?p=97</guid>
		<description><![CDATA[If you&#8217;re coming to BeOS from the DOS world, you expect Terminal to be a lot more powerful than DOS. And it is. But with power comes an occasional price &#8212; some things are more complex to accomplish in bash than in DOS. A good example of this is in renaming large batches of files. [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re coming to BeOS from the DOS world, you expect Terminal to be a lot more powerful than DOS. And it is. But with power comes an occasional price &#8212; some things are more complex to accomplish in bash than in DOS. A good example of this is in renaming large batches of files. Let&#8217;s say you&#8217;ve got a directory containing 500 text files, all ending with the .txt extension, and you want to make them end in .html. In DOS, this would be as simple as typing <code>ren *.txt *.html</code>. Since the bash command for renaming files is <code>mv</code>, you might expect you can type <code>mv *.txt *.html</code>. But it doesn&#8217;t work that way.</p>
<p> It would take a complex explanation of exactly how the bash shell works to explain why not, but if you need to accomplish this task, here&#8217;s how: type the following into the shell, hitting Enter after each line.</p>
<pre>
for i in *.txt
do
mv "$i" "$(echo $i | sed s/.txt$/.html/)"
done
</pre>
<p> In a nutshell, here&#8217;s what&#8217;s going on: you establish a loop to go through all the filenames in the current directory ending in .txt (* refers to all files in the current directory). &#8220;Do&#8221; means you&#8217;re going to look at the first file and do something with it. That something is the move command, <code>mv</code>. We move the first file from its current location of {variable} to {variable.html}. The tricky part is that we need to use sed (the stream editor) to substitute the string &#8220;txt&#8221; at the end of the line with the string &#8220;html&#8221;. Done means we&#8217;re ready to move to the next file, and also serves as a flag for the process to exit when all files have been processed.</p>
<p>If you need to use this function frequently, save the whole block as a script prefaced with the magic cookie <code>#!/bin/sh</code> and call it &#8220;ren&#8221; or something else intuitive.</p>
<p>Note that just changing the extensions will not change the filetypes, because BeOS doesn&#8217;t use extensions as its primary means of identifying filetypes. To do that, see the tip <a href="/chunga.php?ID=048">Batch-changing filetypes</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://betips.net/1997/09/09/renaming-batches-of-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get
 connected, stay connected, pt. I</title>
		<link>http://betips.net/1997/09/09/get-connected-stay-connected-pt-i/</link>
		<comments>http://betips.net/1997/09/09/get-connected-stay-connected-pt-i/#comments</comments>
		<pubDate>Tue, 09 Sep 1997 09:36:29 +0000</pubDate>
		<dc:creator>shacker</dc:creator>
				<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.birdhouse.org/betips/?p=100</guid>
		<description><![CDATA[If you have problems keeping your PPP connection alive, it may help to send out regularly spaced ping commands to keep communication between you and your ISP alive. Here&#8217;s an addition you can make to your ppp-script, as well as a small separate script that sends out ping commands whenever the connection is up.
Add to [...]]]></description>
			<content:encoded><![CDATA[<p>If you have problems keeping your PPP connection alive, it may help to send out regularly spaced ping commands to keep communication between you and your ISP alive. Here&#8217;s an addition you can make to your ppp-script, as well as a small separate script that sends out ping commands whenever the connection is up.</p>
<p>Add to <code>~/config/etc/ppp-script</code>:</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
<code></p>
<p>if  [ "$1" =  "up" ]<br />
then<br />
	touch /var/tmp/ppp_up</p>
<p> sits there</p>
<p>	keep_alive &amp;<br />
	date "+%D %T sess $3 started on $2 as $4" >> /var/log/online.log<br />
	MediaPlayer /boot/home/config/sounds/Startup Sounds/GoodVibesStart.aiff &amp;<br />
	 [ $( roster | grep "GimICQ2" | wc -l) -eq 0 ]  &amp;&amp;  { Workspaces 3 ;<br />
 /boot/home/apps/GimICQ2/GimICQ_x86 &amp; }<br />
fi</p>
<p>if   [ "$1" = "down" ]<br />
then<br />
	if [ -f /var/tmp/ppp_up ]<br />
	then<br />
		touch /var/tmp/ppp_down<br />
		rm /var/tmp/ppp_up<br />
		date "+%D %T sess $3 closed" &amp;gt;&amp;gt; /var/log/online.log<br />
		MediaPlayer /boot/home/config/sounds/Startup Sounds/DarkStart.aiff &amp;<br />
	else<br />
		if [ -f /var/tmp/ppp_down ]<br />
		then<br />
			rm /var/tmp/ppp_down<br />
		else<br />
			MediaPlayer /boot/home/config/sounds/System Beeps/BoingAlert2.aiff &amp;<br />
		fi<br />
	fi<br />
fi<br />
</code></p>
<p><code><br />
Now create this script: /boot/home/config/bin/keep_alive (don't forget to chmod this to 755):</p>
<p>while [ -f /var/tmp/ppp_up ]<br />
do<br />
	ping -c 1 -s 8 www.be.com<br />
	sleep 10<br />
done<br />
</code></p>
<p>So these two pieces of code work in tandem to keep your connection humming along happily. You don&#8217;t need to launch any Terminal windows, press any Ctrl-C to quit, or anything else messy. Just connect and disconnect manually from the Deskbar replicant.</p>
]]></content:encoded>
			<wfw:commentRss>http://betips.net/1997/09/09/get-connected-stay-connected-pt-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debugging shell scripts</title>
		<link>http://betips.net/1997/09/09/debugging-shell-scripts/</link>
		<comments>http://betips.net/1997/09/09/debugging-shell-scripts/#comments</comments>
		<pubDate>Tue, 09 Sep 1997 09:36:29 +0000</pubDate>
		<dc:creator>shacker</dc:creator>
				<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.birdhouse.org/betips/?p=147</guid>
		<description><![CDATA[All bash shell scripts must begin with the string:&#8217;

 #!/bin/sh

 However, if you want to see exactly what&#8217;s going on while a script is  running, start your script with


instead. The shell will report back to you with every step, making it much  easier to see exactly what&#8217;s going on (and thus how to [...]]]></description>
			<content:encoded><![CDATA[<p>All bash shell scripts must begin with the string:&#8217;</p>
<pre>
 #!/bin/sh
</pre>
<p> However, if you want to see exactly what&#8217;s going on while a script is  running, start your script with</p>
<pre>
</pre>
<p>instead. The shell will report back to you with every step, making it much  easier to see exactly what&#8217;s going on (and thus how to fix it if necessary).</p>
]]></content:encoded>
			<wfw:commentRss>http://betips.net/1997/09/09/debugging-shell-scripts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Launch a job into a named Terminal</title>
		<link>http://betips.net/1997/09/09/launch-a-job-into-a-named-terminal/</link>
		<comments>http://betips.net/1997/09/09/launch-a-job-into-a-named-terminal/#comments</comments>
		<pubDate>Tue, 09 Sep 1997 09:36:29 +0000</pubDate>
		<dc:creator>shacker</dc:creator>
				<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.birdhouse.org/betips/?p=251</guid>
		<description><![CDATA[As described in Title Your Terminal, you can launch new terminals with a custom name that will appear on the title tab and in the Deskbar. You can also specify that a specific task or job start running in the new Terminal session immediately. For example, if you want to launch a Terminal called &#8220;rc5des&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>As described in <a href="/chunga.php?ID=076">Title Your Terminal</a>, you can launch new terminals with a custom name that will appear on the title tab and in the Deskbar. You can also specify that a specific task or job start running in the new Terminal session immediately. For example, if you want to launch a Terminal called &#8220;rc5des&#8221; and start cracking keys in it right off the bat, type:</p>
<p><code><br />
Terminal -t "rc5des" /boot/home/config/bin/rc5des &amp;<br />
</code></p>
<p>Note that you must specify the complete path to the binary you want to run, even if it&#8217;s already in your path. This is a perfect way to launch Terminal jobs from your UserBootscript.</p>
]]></content:encoded>
			<wfw:commentRss>http://betips.net/1997/09/09/launch-a-job-into-a-named-terminal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shuffle your background images</title>
		<link>http://betips.net/1997/09/09/shuffle-your-background-images/</link>
		<comments>http://betips.net/1997/09/09/shuffle-your-background-images/#comments</comments>
		<pubDate>Tue, 09 Sep 1997 09:36:29 +0000</pubDate>
		<dc:creator>shacker</dc:creator>
				<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.birdhouse.org/betips/?p=266</guid>
		<description><![CDATA[Want a cool way to shuffle your backgrounds everytime you restart? Well look no further. This handy dandy little script seems to work great. What you need to do is point the Backgrounds preferences panel at a particular image, then use this script to suck a random image out of another directory and overwrite the [...]]]></description>
			<content:encoded><![CDATA[<p>Want a cool way to shuffle your backgrounds everytime you restart? Well look no further. This handy dandy little script seems to work great. What you need to do is point the Backgrounds preferences panel at a particular image, then use this script to suck a random image out of another directory and overwrite the image Backgrounds is pointing to every time you reboot.</p>
<p>First make a copy of one of your backgrounds and call it something like &#8220;background.jpg&#8221;. Put it in a directory where you can pretty much ignore it, like &#8220;<code>/boot/home/config/settings</code>&#8220;.</p>
<p>Now you need to set your background in the preferences to &#8220;<code>/boot/ home/config/settings/background.jpg</code>&#8220;.</p>
<p>Next, drop all the backgrounds you want to appear in rotation into a single directory. This script assumes that location is <code>/boot/home/Backgrounds</code>.</p>
<p>Ok, now the easy part, edit your &#8220;userBootscript&#8221; file and add the following code:</p>
<pre>
	N=`date +%S`
	N=`expr $N + 0`
	I=0
	for file in /boot/home/Media/Backgrounds/*
	do
		I=$[$I + 1]
	done
	N=$[($I * $N) / 60]
	for file in /boot/home/Media/Backgrounds/*
	do
		if [ $N -eq 0 ]
		then
			cp $file /boot/home/config/settings/background.jpg
			break
		fi
		if [ $N -ne 0 ]
		then
			N=$[$N - 1]
		fi
	done
</pre>
<p>You will need to change &#8220;<code>/boot/home/Media/Backgrounds</code>&#8221; to your background folder, and then after you restart twice, you&#8217;ll be all set.</p>
]]></content:encoded>
			<wfw:commentRss>http://betips.net/1997/09/09/shuffle-your-background-images/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Controlling RC5DES with clickable icons</title>
		<link>http://betips.net/1997/09/09/controlling-rc5des-with-clickable-icons/</link>
		<comments>http://betips.net/1997/09/09/controlling-rc5des-with-clickable-icons/#comments</comments>
		<pubDate>Tue, 09 Sep 1997 09:36:29 +0000</pubDate>
		<dc:creator>shacker</dc:creator>
				<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.birdhouse.org/betips/?p=271</guid>
		<description><![CDATA[The RC5DES project is an attempt to prove to the governments of the world that proposed encryption standards are easy to break via brute force, by simply dividing up a large problem and distributing its parts out to thousands of networked computers all checking into a central database. Participants band together into teams to promote [...]]]></description>
			<content:encoded><![CDATA[<p>The RC5DES project is an attempt to prove to the governments of the world that proposed encryption standards are easy to break via brute force, by simply dividing up a large problem and distributing its parts out to thousands of networked computers all checking into a central database. Participants band together into teams to promote a spirit of lively competition, and Team BeOS Central is rising slowly but steadily in the ranks. For information on on joining the project, see <a href="http://www.distributed.net">http://www.distributed.net</a> and <a href="http://www.beoscentral.com/home/teambeos//">http://www.beoscentral.com/ho me/teambeos/</a>. Once you&#8217;ve got it up and running, you&#8217;ll find that you have to control everything from the command line. To make things a little easier, this collection of brief shell scripts will let you double-click icons on the Desktop to turn RC5DES on and off, etc.</p>
<p>If you&#8217;d rather not bother creating these scripts manually, you download them as a prefab collection <a href="http://www.birdhouse.org/beos/software/rc5scripts.zip">here</a>. Unpack them and place them in <code>/boot/home/config/scripts</code>, then place links to them on the Desktop.</p>
<p><b>Note: The location above assumes that you&#8217;ve added this path to your PATH environment variable. For instructions on that, see <a href="/chunga.php?ID=292">Add a scripts directory to your path</a>.</b></p>
<p>To do this manually, save the scripts below to  <code>/boot/home/config/scripts</code>.</p>
<p><b>rc5on</b></p>
<pre>

rc5des -quiet &amp;
</pre>
<p><b>rc5off</b></p>
<pre>

kill -term rc5des
</pre>
<p><b>rc5flush</b></p>
<pre>

Terminal -t "RC5DES Flush" /boot/home/config/bin/rc5des -flush
</pre>
<p><b>rc5fetch</b></p>
<pre>

Terminal -t "RC5DES Fetch" /boot/home/config/bin/rc5des -fetch
</pre>
<p><b>rc5update</b></p>
<pre>

Terminal -t "RC5DES Update" /boot/home/config/bin/rc5des -update
</pre>
<p>Next you&#8217;ll need to make your scripts executable. From the Terminal, cd to the directory containing your scripts and type:</p>
<pre>chmod 755 *</pre>
<p>This will make all of the scripts in the directory executable, which is essential to making them clickable. The last thing to do is to create links to them on your Desktop. Select all five scripts, right-drag them to the Desktop, and choose Create Link from the context menu.</p>
<p>You should find that you can now start, stop and flush the RC5DES cruncher by simply clicking the icons! Optionally, you can add custom icons to your new scripts for easy identification (icons are already included in the download mentioned above).</p>
]]></content:encoded>
			<wfw:commentRss>http://betips.net/1997/09/09/controlling-rc5des-with-clickable-icons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Add
 a scripts directory to your path</title>
		<link>http://betips.net/1997/09/09/add-a-scripts-directory-to-your-path/</link>
		<comments>http://betips.net/1997/09/09/add-a-scripts-directory-to-your-path/#comments</comments>
		<pubDate>Tue, 09 Sep 1997 09:36:29 +0000</pubDate>
		<dc:creator>shacker</dc:creator>
				<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.birdhouse.org/betips/?p=272</guid>
		<description><![CDATA[While the official place to put executable files that you&#8217;ve added to the system yourself and want to be accessible from any Terminal prompt is /boot/home/config/bin, many people who work with a lot of scripts find it useful to store them in a separate directory, to keep them separate from the uneditable, actual binaries living [...]]]></description>
			<content:encoded><![CDATA[<p>While the official place to put executable files that you&#8217;ve added to the system yourself and want to be accessible from any Terminal prompt is <code>/boot/home/config/bin</code>, many people who work with a lot of scripts find it useful to store them in a separate directory, to keep them separate from the uneditable, actual binaries living there. I recommend creating a folder at <code>/boot/home/config/scripts</code> for this purpose. To make this path accessible from any prompt, add the line</p>
<pre>PATH=$PATH:/boot/home/config/scripts</pre>
<p>to <code>/boot/home/config/boot/UserSetupEnvironment</code> or <code>/boot/home/.profile</code>. If you add it to the former, you&#8217;ll need to reboot for it to take effect. If you add it to the latter, you&#8217;ll need to open a new Terminal window (because <code>UserSetupEnvironment</code> is applicable to the whole environment, whereas <code>.profile</code> is read into memory every time you open a Terminal window).</p>
]]></content:encoded>
			<wfw:commentRss>http://betips.net/1997/09/09/add-a-scripts-directory-to-your-path/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get
 needed libraries for an application</title>
		<link>http://betips.net/1997/09/09/get-needed-libraries-for-an-application/</link>
		<comments>http://betips.net/1997/09/09/get-needed-libraries-for-an-application/#comments</comments>
		<pubDate>Tue, 09 Sep 1997 09:36:29 +0000</pubDate>
		<dc:creator>shacker</dc:creator>
				<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.birdhouse.org/betips/?p=273</guid>
		<description><![CDATA[To get a nice printout of which libraries are required by a given application, cut and paste the text below into your .profile. Once you&#8217;ve done that, you can just type
getlibs appname
(where appname is the name of the application you want to investigate) in your Terminal to find the needed libraries.


getlibs()
{
     [...]]]></description>
			<content:encoded><![CDATA[<p>To get a nice printout of which libraries are required by a given application, cut and paste the text below into your <code>.profile</code>. Once you&#8217;ve done that, you can just type</p>
<pre>getlibs appname</pre>
<p>(where <code>appname</code> is the name of the application you want to investigate) in your Terminal to find the needed libraries.</p>
<pre>

getlibs()
{
        if [ "$#" = "0" ]; then
                echo "No executable specified."
                return 1
        fi
        if [ -f "$1" ]; then
                objdump --all-headers "$1" | grep NEEDED | awk '{
print $2 }'
        else
                echo "Can't find executable '$1'."
                return 1
        fi
        return 0
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://betips.net/1997/09/09/get-needed-libraries-for-an-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
