473,804 Members | 3,018 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Generating Cutter numbers

All

would anyone happen to have code to generate Cutter Numbers:

eg. http://www1.kfupm.edu.sa/library/cod...er-numbers.htm

or is anyone looking for something to do?-) (I'm under pressure!)

def cutter(lname, fname, book_title):

(maybe more to it than that).
cheers

Gerard

May 20 '06 #1
7 4035
Gerard Flanagan wrote:
All

would anyone happen to have code to generate Cutter Numbers:

eg. http://www1.kfupm.edu.sa/library/cod...er-numbers.htm

or is anyone looking for something to do?-) (I'm under pressure!)

def cutter(lname, fname, book_title):


What do you use lname and fname (author first name and last name?) for?
The page you linked to does not have any information (that I could
see) about first names or last names.

I wrote a script to see if I could capture what the table is doing on
the page you linked to. It gets the Cutter number right about 50% of
the time, otherwise its off by a few digits.

I am stumped about what to do when the first letter is Q not followed
by U. It says to use numbers 2-29 for the second letters a-t, but that
is obviously not right (for one thing t would be 21, not 29).

Since you seem a little bit more experienced in library science could
you explain what is going on? :)

you can find the script here:
http://lost-theory.org/python/cutter.txt

Title mine real match?
---------------------------------------
IBM I26 I26 True
Idaho I33 I33 True
Ilardo I43 I4 False
Import I47 I48 False
Inman I56 I56 True
Ipswich I67 I67 True
Ito I86 I87 False
Ivy I99 I94 False
Sadron S23 S23 True
Scanlon S33 S29 False
Schreiber S37 S37 True
Shillingburg S55 S53 False
Singer S56 S57 False
Stinson S75 S75 True
Suryani S87 S87 True
Symposium S96 S96 True
Qadduri Q23 Q23 True
Qiao Q103 Q27 False
Quade Q33 Q33 True
Queiroz Q45 Q45 True
Quinn Q56 Q56 True
Quorum Q67 Q67 True
Qutub Q88 Q88 True
Qvortrup Q236 Q97 False
Campbell C46 C36 False
Ceccaldi C53 C43 False
Chertok C64 C48 False
Clark C73 C58 False
Cobblestone C43 C63 False
Cryer C79 C79 True
Cuellar C74 C84 False
Cymbal C36 C96 False
Steve

May 20 '06 #2
sk********@gmai l.com wrote in news:1148133784 .844430.23130@
38g2000cwa.goog legroups.com:
Gerard Flanagan wrote:
All

would anyone happen to have code to generate Cutter Numbers:

eg. http://www1.kfupm.edu.sa/library/cod...er-numbers.htm
[...]
I wrote a script to see if I could capture what the table is doing on
the page you linked to. It gets the Cutter number right about 50% of
the time, otherwise its off by a few digits.

I am stumped about what to do when the first letter is Q not followed
by U. It says to use numbers 2-29 for the second letters a-t, but that is obviously not right (for one thing t would be 21, not 29).

Since you seem a little bit more experienced in library science could
you explain what is going on? :)

you can find the script here:
http://lost-theory.org/python/cutter.txt


I found another page
<http://ublib.buffalo.e du/libraries/units/cts/codes/cutter.html> that
expresses the letter codes more fully than the one the OP posted. But
nothing I've seen so far accounts for an example like " Chertok (.C48)".

This page <http://www.itsmarc.com/crs/cutr0020.htm> shows essentially
the same information the OP posted, including the Chertok example, which
is linked to another page that says this (and only this): "These Cutters
reflect the adjustments made to allow for a range of letters on the
table, e.g., l-m, or for letters not explicitly stated, e.g., h after an
initial consonant." Given that some unnamed adjustment is made, it's not
clear how one would go about programming it. I mean, Python's good, but
it only has a serpent brain.

--
rzed
May 20 '06 #3
> I am stumped about what to do when the first letter is Q not
followed by U. It says to use numbers 2-29 for the second
letters a-t, but that is obviously not right (for one thing t
would be 21, not 29).

Since you seem a little bit more experienced in library
science could you explain what is going on? :)


I too tried to play with it, and Steve found one of the cases
with which I was having trouble ("Q[^u]"). Additionally, is "Y"
considered a consonant or vowel for the sake of this exercise?
Other trouble came when consonants were not followed by the list
of letters given. It also looks like the definiton of "initial
letter" seems to change a bit. In some cases, "initial letter"
seems to refer to the first letter (which gets output
carte-blanche), and in other cases, it seems to be used to refer
to "the first letter that should be converted to a number"
(meaning the second letter of the input).

Some examples for which expected results (and the
reasoning/logic/algorithm/table behind how they were generated)
would be helpful:
"Cyr", "Cyprus", "Mbarine", "McGrady", "Sczepanski ", "Yvette"

They're all are sample last-names pulled from my local phonebook.

Too bad my librarian wife is working today :)

-tkc



May 20 '06 #4
sk********@gmai l.com wrote:
Gerard Flanagan wrote:
All

would anyone happen to have code to generate Cutter Numbers:

eg. http://www1.kfupm.edu.sa/library/cod...er-numbers.htm

or is anyone looking for something to do?-) (I'm under pressure!)

def cutter(lname, fname, book_title):

What do you use lname and fname (author first name and last name?) for?
The page you linked to does not have any information (that I could
see) about first names or last names.


Sorry, couldn't find a better link, I'm struggling to find anything
definitive about this.

I'm cataloging a small library and want to generate a unique id (called
a 'call number') for each book. This id is composed of:

* Dewey 3-digit Subject Classification Number
* Dewey Decimal (always 0 for the minute)
* Cutter Number
* Copy number (multiple copies or volumes)

(That Celestial Emporium again...)

I haven't researched it much but it seems the Cutter number is used to
distinguish between authors with the same name, and between different
books written by the same author - so you need last name, first name
and title. But it may be as much art as science.
I wrote a script to see if I could capture what the table is doing on
the page you linked to. It gets the Cutter number right about 50% of
the time, otherwise its off by a few digits.

I am stumped about what to do when the first letter is Q not followed
by U. It says to use numbers 2-29 for the second letters a-t, but that
is obviously not right (for one thing t would be 21, not 29).

Since you seem a little bit more experienced in library science could
you explain what is going on? :)

you can find the script here:
http://lost-theory.org/python/cutter.txt


Thanks very much for taking the time - I'll have to go study it now!
But I don't think it will be as simple now since the Cutter may depend
on books already in the database. Maybe I'll just stick a random
string on the end of what your function produces!

Thanks again.

Gerard

May 21 '06 #5

"Gerard Flanagan" <gr********@yah oo.co.uk> wrote in message
news:11******** **************@ j55g2000cwa.goo glegroups.com.. .
I'm cataloging a small library and want to generate a unique id (called
a 'call number') for each book. This id is composed of:

* Dewey 3-digit Subject Classification Number
* Dewey Decimal (always 0 for the minute)
* Cutter Number
* Copy number (multiple copies or volumes)

(That Celestial Emporium again...)

I haven't researched it much but it seems the Cutter number is used to
distinguish between authors with the same name, and between different
books written by the same author - so you need last name, first name
and title. But it may be as much art as science.


I seems you are mixing pieces of two cataloging systems. The link you gave
was for creating Cutter numbers to represent subtopics of Library of
Congress classes. For instance, 'algorithms' is .A43.

May 21 '06 #6
Terry Reedy wrote:
"Gerard Flanagan" <gr********@yah oo.co.uk> wrote in message
news:11******** **************@ j55g2000cwa.goo glegroups.com.. .
I'm cataloging a small library and want to generate a unique id (called
a 'call number') for each book. This id is composed of:

* Dewey 3-digit Subject Classification Number
* Dewey Decimal (always 0 for the minute)
* Cutter Number
* Copy number (multiple copies or volumes)

(That Celestial Emporium again...)

I haven't researched it much but it seems the Cutter number is used to
distinguish between authors with the same name, and between different
books written by the same author - so you need last name, first name
and title. But it may be as much art as science.
I seems you are mixing pieces of two cataloging systems. The link you gave
was for creating Cutter numbers to represent subtopics of Library of
Congress classes. For instance, 'algorithms' is .A43.


I think 'Cuttering' is a general term for identifying any given book
within a subject area. Whether you use Dewey or Library of Congress
system of subject classification you still need to have a way of
identifying particuar books.
From the link below:


<quote>
[Examples of] LC (Library of Congress) call numbers:

LB 1631.S686 1994

QA 76.76.H94 C36 1997

The first part of those call numbers, i.e. before the final decimal
point, are the "filing numbers" as they are often called. They
indicate the general subject area and are of no interest to us at this
point for they are shared by all other books in this class. All
libraries using the system will all use the same "pre-decimal" filing
number. But ... there could still be a whole wallfull of books sharing
those numbers so we still have a problem.

The part of the call number that really made Cutter's system famous --
and a winner -- was the stuff after the (final) decimal point. Those
are the
cutter numbers -- and those are the numbers that guarantee not only
every
book's uniqueness, but also lead us straight to its location once we
are in the right general area of the library.

Cutter numbers are in a sense "relative". They are not assigned in
some kind of absolute way, as are the filing numbers that precede
the decimal point. Thus if a book is "about science" then its filing
number will begin with a Q in a more absolute or determinate sense
because Q is the Library of Congress Classification for books on
science. All books using the LC system will end up giving each book
the same filing number, but they are unlikely to end up giving it
exactly the same cutter because every library is different and will
have different books on its shelf. Cutters depend, relatively, on what
other books are located in the general area in which a given book is
to be placed in that particular library.

So when a book has to be cuttered, then the table that Cutter provided
for allocating numbers is used. However, the resulting numbers must
fit into the order established by already existing books in the
library. That's to say, it is the librarian's responsibility to check
to be sure that no other book in this class has the same cutter
number.
</quote>

http://mailman.code404.com/pipermail...er/003910.html

(Before clicking on the link give yourself 10 geek-points if you can
complete the following sentence:

<quote>
The first real library -- i.e. the first one known to have
systematically tried to solve the problems of maintaining a collection
by imposing a "logical order" on its objects was the
Great Library of Alexandria. The Great Library's first librarian was...
</quote>
)

Gerard

May 22 '06 #7
Gerard Flanagan wrote:
All

would anyone happen to have code to generate Cutter Numbers:

eg. http://www1.kfupm.edu.sa/library/cod...er-numbers.htm

or is anyone looking for something to do?-) (I'm under pressure!)

def cutter(lname, fname, book_title):

(maybe more to it than that).
cheers

Gerard


Just for the archives - used a Cutter-Sanborn table obtained by
html-scraping (BeautifulSoup) . The final Cutter will depend on the
Cutters of existing books on the same shelf.

-------------------------------------------------------------------------------------------
from urllib import urlopen
from BeautifulSoup import BeautifulSoup as Soup

baseurl = 'http://www.librarian.o r.kr/reference/mark/cutter%s.htm'

out = open('cutter2.t xt','w')

try:
for i in range(1,10):
html = urlopen(baseurl % i).read()
soup = Soup(html)
for pre in soup('pre'):
for line in pre.string.spli t('\n'):
out.write(line. strip().replace (' ', ' ') + '\n')
finally:
out.close()
-------------------------------------------------------------------------------------------

111 Aa
112 Aal
113 Aar
114 Aars
115 Aas
116 Aba
117 Abal
118 Abar
119 Abat
121 Abau
122 Abb
123 Abbat
124 Abbe
125 Abbo

....

86 Zol
87 Zon
88 Zop
89 Zot
91 Zou
92 Zs
93 Zu
94 Zuc
95 Zun
96 Zur
97 Zw
98 Zwi
99 Zy

May 23 '06 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

7
7292
by: eric.gagnon | last post by:
In a program randomly generating 10 000 000 alphanumeric codes of 16 characters in length (Ex.: "ZAZAZAZAZAZAZ156"), what would be an efficient way to ensure that I do not generate duplicates? STL set, map? Could you give me a little code example? Thank you.
12
2516
by: Martin_Hurst | last post by:
Has some one come up with a similar type script that could be used in a Postgresql database? The script below was created for a SQLServer database. Thx, -Martin ++++++++++++++++++++++++++++++++++++++ http://searchdatabase.techtarget.com/tip/1,289483,sid13_gci913717,00.html In the early stages of application design DBA or a developer creates a data
6
5553
by: Poul Møller Hansen | last post by:
I have made a stored procedure, containing this part for generating a unique reference number. SET i = 0; REPEAT SET i = i + 1; SELECT RAND() INTO reference FROM SYSIBM.SYSDUMMY1; SET p_reference = ref_prefix || SUBSTR(CAST(reference AS CHAR(12)),3);
1
30938
by: Intaek LIM | last post by:
generally, we use srand(time(0)) to generate random numbers. i know why we use time(0), but i can not explain how it operates. first, see example source below. --------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv)
0
4963
by: tr02acy | last post by:
We are FOISON Technology Limited, one of the professional Sign-Making and Advertising Equipment manufacture and dealers in China, engaged in selling advertising industry machinery such as large-format printer, laser engraver machine, cutting plotter, polishing machine ,cutter grinder and the related materials.Owing to high products quality and strict inspection as well as better after sales service, we got rapid development. For more...
8
25490
by: kiranchahar | last post by:
Hey all, How do I generate random numbers with Uniform distribution Uniform(a,b) using C-programming? I want to generate uniform random numbers which have mean following Uniform(p,q) and also variance as Uniform(s,t)? any suggestion would be really appreciated. Thanks, Kay
1
1582
by: sparks | last post by:
we are generating numbers for the data collection people. this worked fine for a while.. Private Sub generatenumber() Dim db As DAO.Database Dim rs As DAO.Recordset Dim StudentNumber As Integer Dim gennum As Integer Dim finalnum As Integer
0
775
by: lscbtfws | last post by:
Power mp3 cutter crack http://cracks.00bp.com F R E E
26
7922
by: bilgekhan | last post by:
What is the correct method for generating 2 independent random numbers? They will be compared whether they are equal. What about this method: srand(time(0)); int r1 = rand(); srand(rand()); int r2 = rand(); bool f = r1 == r2;
0
10578
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10332
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10321
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10077
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7620
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6853
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5522
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
4300
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3820
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.