Moving from GrafoscopioUtils.
This commit is contained in:
parent
ef469a9b85
commit
994ce727d1
43
src/MiniDocs/LeDatabase.extension.st
Normal file
43
src/MiniDocs/LeDatabase.extension.st
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
Extension { #name : #LeDatabase }
|
||||||
|
|
||||||
|
{ #category : #'*MiniDocs' }
|
||||||
|
LeDatabase >> addPageFromMarkdeepUrl: aString [
|
||||||
|
|
||||||
|
| page |
|
||||||
|
page := self detectLocalPageForRemote: aString.
|
||||||
|
page ifNotNil: [ :arg | ^ self importErrorMessage: page ].
|
||||||
|
self addPage: page.
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #'*MiniDocs' }
|
||||||
|
LeDatabase >> detectLocalPageForRemote: markdeepDocUrl [
|
||||||
|
| markdeepHelper id remoteMetadata docTree |
|
||||||
|
markdeepHelper := Markdeep new.
|
||||||
|
docTree := (XMLHTMLParser on: markdeepDocUrl asUrl retrieveContents) parseDocument.
|
||||||
|
remoteMetadata := markdeepHelper metadataFromXML: docTree.
|
||||||
|
id := remoteMetadata at: 'id' ifAbsent: [ ^ false ].
|
||||||
|
^ self pageWithID: id ifAbsent: [ nil ].
|
||||||
|
]
|
||||||
|
|
||||||
|
{ #category : #'*MiniDocs' }
|
||||||
|
LeDatabase >> importErrorMessage: page [
|
||||||
|
|
||||||
|
^ String streamContents: [ :stream |
|
||||||
|
stream
|
||||||
|
nextPutAll: 'IMPORTATION ERROR: a page with';
|
||||||
|
nextPut: Character lf;
|
||||||
|
nextPut: Character lf;
|
||||||
|
nextPutAll: ' id: ' , page uidString;
|
||||||
|
nextPut: Character lf;
|
||||||
|
nextPutAll: ' title: ' , page contentAsString;
|
||||||
|
nextPut: Character lf;
|
||||||
|
nextPut: Character lf;
|
||||||
|
nextPutAll: 'already exists in this database.';
|
||||||
|
nextPut: Character lf;
|
||||||
|
nextPut: Character lf;
|
||||||
|
nextPutAll:
|
||||||
|
'Please do one of those before retrying this procedure:
|
||||||
|
|
||||||
|
1) Move the existing page files (.lepiter and .bak) to another (sub)folder.
|
||||||
|
2) Import the page url to another database.' ]
|
||||||
|
]
|
Loading…
Reference in New Issue
Block a user