MCSmtpRepository.st
author Claus Gittinger <cg@exept.de>
Wed, 25 Feb 2015 01:14:48 +0100
changeset 975 9d3047664305
parent 900 34c44e0f7cee
child 1022 b561a6a0a2d7
permissions -rw-r--r--
class: ProjectDefinition changed: #monticelloName
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
116
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
MCWriteOnlyRepository subclass:#MCSmtpRepository
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'email'
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
680
dee895391882 category change
Claus Gittinger <cg@exept.de>
parents: 327
diff changeset
     7
	category:'SCM-Monticello-Repositories'
116
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!MCSmtpRepository class methodsFor:'as yet unclassified'!
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
morphicConfigure
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
	| address |
220
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    15
	address := UIManager default request: 'Email address:' translated.
116
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	^ address isEmpty ifFalse: [self new emailAddress: address]
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
! !
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
900
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    19
!MCSmtpRepository class methodsFor:'queries'!
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    20
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    21
description
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    22
	^ 'SMTP'
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    23
! !
116
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
900
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    25
!MCSmtpRepository methodsFor:'accessing'!
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    26
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    27
description
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    28
	^ 'mailto://', email
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    29
! !
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    30
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    31
!MCSmtpRepository methodsFor:'as yet unclassified'!
116
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
bodyForVersion: aVersion
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	^ String streamContents:
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
		[ :s |
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
		s nextPutAll: 'from version info:'; cr; cr.
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
		s nextPutAll:  aVersion info summary]
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
!
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
emailAddress: aString
220
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    41
	email := aString	
116
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
!
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
messageForVersion: aVersion
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
	| message data |
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
	message := MailMessage empty.
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
	message setField: 'from' toString: MailSender userName.
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
	message setField: 'to' toString: email.
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
	message setField: 'subject' toString: (self subjectForVersion: aVersion). 
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
	message body:
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
		(MIMEDocument
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
			contentType: 'text/plain'
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
			content: (self bodyForVersion: aVersion)).
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
	"Prepare the gzipped data"
220
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    57
	data := RWBinaryOrTextStream on: String new.
116
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
	aVersion fileOutOn: data.
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
	message addAttachmentFrom: data reset withName: aVersion fileName.
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
	^ message
900
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    61
! !
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    62
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    63
!MCSmtpRepository methodsFor:'printing & storing'!
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    64
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    65
basicStoreVersion: aVersion
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    66
	MailSender sendMessage: (self messageForVersion: aVersion)
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    67
! !
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    68
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    69
!MCSmtpRepository methodsFor:'queries'!
116
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
subjectForVersion: aVersion
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
	^ '[Package] ', aVersion info name
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
! !
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
!MCSmtpRepository class methodsFor:'documentation'!
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
version
900
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    78
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCSmtpRepository.st,v 1.5 2014-02-12 14:53:31 cg Exp $'
220
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    79
!
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    80
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    81
version_CVS
900
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    82
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCSmtpRepository.st,v 1.5 2014-02-12 14:53:31 cg Exp $'
220
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    83
!
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    84
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    85
version_SVN
900
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    86
    ^ '$Id: MCSmtpRepository.st,v 1.5 2014-02-12 14:53:31 cg Exp $'
116
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
! !
900
34c44e0f7cee categories
Claus Gittinger <cg@exept.de>
parents: 680
diff changeset
    88